JFrameJavaの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ない限り、何らかの理由で再描画されないことがわかりました。また、 で示したのと同じインスタンスのみをペイントします。ペイントされるその他のイメージは無視されます。理由は不明です。JOptionPaneJFrameJOptionPane