JFrame
JavaのGUIで画像を表示しようとしています。リソース ファイルから画像を正常に読み込んで、画像をJOptionPane
. これはJLabel
、コンストラクターにイメージ アイコンを含む を使用して実現されました。この画像を無に追加しようとするJPanel
と表示されます。
JLabel imgLabel1 = new JLabel(new ImageIcon(tsr.getTileImage(1,1)),JLabel.CENTER);
jpnDisplay.add(imgLabel1);
tsr は、タイルセットからサブイメージを取得するためのカスタム コードです。返される画像のタイプはBufferedImage
です。
私が気づいたことの1つは、画像を表示してから画像にJOptionPane
追加するJPanel
と表示されることです。これがなぜなのかわかりません。
JLabel imgLabel1 = new JLabel(new ImageIcon(tsr.getTileImage(1,1)),JLabel.CENTER);
JOptionPane.showMessageDialog(null, imgLabel1,"Label",-1);
jpnDisplay.add(imgLabel1);`enter code here
- 編集 -
コードをいじってみると、問題は画像を表示しようとしていた方法にあるのではなく、が表示される前にが表示されJFrame
ない限り、何らかの理由で再描画されないことがわかりました。また、 で示したのと同じインスタンスのみをペイントします。ペイントされるその他のイメージは無視されます。理由は不明です。JOptionPane
JFrame
JOptionPane