私はここで新しく、javaにはまったく新しいです。 問題が発生しました。 私は、PNGを作成し、ユーザーが選択したフォルダに保存しようとする非常に単純なプログラムを持っています。 byteimageはAAプライベートバイト[]である:Eclipseコードはうまく動作しません。
byteimage = bcd.createPNG(300, 140, ColorSpace.TYPE_RGB, Color.BLACK, Color.BLACK);
SETPATH()
private void setPath() {
JFileChooser pathchooser = new JFileChooser();
pathchooser.setMultiSelectionEnabled(false);
pathchooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
pathchooser.setApproveButtonMnemonic(KeyEvent.VK_ENTER);
pathchooser.showDialog(this, "OK");
File f = pathchooser.getSelectedFile();
if (f != null) {
filepath = f.getAbsolutePath();
pathfield.setText(filepath);
}
}
バイトメソッドをPNG形式に参照ボタンのアクションリスナーの内側と呼ばれていることは次のようになります。
public void byteToPNG(String filename) {
try {
InputStream in = new ByteArrayInputStream(byteimage);
BufferedImage bufferedimg = ImageIO.read(in);
ImageIO.write(bufferedimg, "png", new File(filename));
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
この方法は次のように呼び出されます。
textfield.getText()は、pngの実際の名前を設定します。 がコンストラクタの内部には、デフォルトのファイルパスが設定されている:
filepath = System.getProperty("user.dir");
pathfield.setText(filepath);
コードは、Eclipseから細かい実行され、それが所望の位置にPNG画像を生成します。 残念ながら、jarとしてエクスポートした後は起動しますが、pngを生成するボタンが押されても何も起こりません。 InputStreamまたはBufferedImageに問題があると思っていますが、少し困惑しています。
あなたの答えをありがとう。文字列のファイル名は絶対で、私は端末でjarを実行しようとします。 – johnpeterman