我已經創建了一個基本的揮杆程序,它在通過JFileChooser
選擇它後在JDialog
框中顯示圖像。我在對話框中使用了JScrollPane
,在窗格中使用了圖像添加爲圖標的JLabel
。我的自定義JDialog出現最小化並且JScrollPane的滾動消失
以下是我已經習慣了構建對話框,並對其內容的代碼,對象已經被初始化用一個簡單的新的呼叫:
jDialog1.setTitle("Image");
jDialog1.setModal(true);
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jScrollPane2.setViewportView(jLabel1);
的Netbeans已用於構建GUI。
以下是我已經用於加載並顯示圖像的代碼:
int rval = jFileChooser1.showDialog(this, "Show");
File f = jFileChooser1.getSelectedFile();
jDialog1.setTitle(jDialog1.getTitle() + " : " + f.getName());
try {
BufferedImage bf = ImageIO.read(f);
jLabel1.setIcon(new ImageIcon(bf));
}
catch (IOException ioe) {
}
jDialog1.setLocationRelativeTo(null);
jDialog1.setVisible(true);
jDialog1.pack();
儘管圖像被加載和顯示時,麻煩的是
我的對話框出現在在左上角最小化的形式,我不得不拖動它的角落來查看圖像。包括相同的圖像。
滾動窗格的水平滾動前的對話框是完全伸展的,並且圖像被完全顯示消失長。雖然垂直滾動條的行爲良好。
我已經嘗試設置大小,都JDialog
和JLabel
的首選大小,但問題依然存在。
Thanx提前!
注意:水平滾動條問題通過在對話框中使用pack()
方法解決,但最小化對話框仍然存在。此外,該對話框現在也出現在屏幕的中心。
嘗試調用包( )創建的JDialog並在屏幕中心顯示它,只需在您的JDialog對象上調用setLocationRelativeTo(null)即可。 – 2013-03-23 13:49:44
@GyuriMajercsik thanx,解決了水平滾動條的問題,並且對話框出現在屏幕的中心,但對話框仍處於最小化的形式。 – 2013-03-25 03:09:13
@GyuriMajercsik在問題中添加了最小化對話框的圖像。 – 2013-03-25 03:14:27