2
BufferedImage
を使用してJPanel
またはJLabel
に画像を表示するにはどうすればよいですか? FileChooser
を使用して画像を読み込み、読み込んだ画像を表示する必要があります。 クラスをどのコンテナにも拡張しません。イメージをコンポーネントに表示する方法は?
BufferedImage
を使用してJPanel
またはJLabel
に画像を表示するにはどうすればよいですか? FileChooser
を使用して画像を読み込み、読み込んだ画像を表示する必要があります。 クラスをどのコンテナにも拡張しません。イメージをコンポーネントに表示する方法は?
をオーバーライド paintComponents(g)paintComponent(g)
JPanelまたはJLabelのメソッドで描画します。以下のようなものがあります。
JPanel panel = new JPanel(){
@Override
public void paintComponent(Graphics g) {
BufferedImage image = null; // get your buffered image.
Graphics2D graphics2d = (Graphics2D) g;
graphics2d.drawImage(image, 0, 0, null);
super.paintComponents(g);
}
};
JLabelと同じです。または別の方法で:
ImageIcon icon = new ImageIcon(
fileChooser.getCurrentDirectory().toString()
+"/"+fileChooser.getSelectedFile().getName());
今、あなたはJLabelの中でイメージアイコンを使用するか、それを追加することができます。
BufferedImage image = null; // get your buffered image.
ImageIcon icon = new ImageIcon((Image)image);
JLabel label = new JLabel();
label.setIcon(icon);
あなたはそれが 方法を以下で行うことができますが、FileChooser
からイメージをロードしていることを言っているとおりJPanel。
上記のコードはサンプルコードであり、テストされていないため、エラーなく実行する必要はありません。必要に応じて変更する必要があるかもしれません。
JLabeで正しいです! –
@Harry Joy、あなたは 'paintComponent'を意味しましたか? – mre
@mre:いいえ、私は 'paintComponents'を意味します。 'paintComponent'が同じ効果を与えるかどうかは分かりません。 –