我创建了一个基本的摇摆程序,JDialog
它在通过JFileChooser
. 我JScrollPane
在对话框内部使用了JLabel
一个,在窗格内使用了一个作为图标添加的图像。
以下是我用来构造对话框及其内容的代码,对象已经通过一个简单的 new 调用进行了初始化:
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
问题仍然存在。
提前谢谢!
注意:水平滚动条问题用pack()
对话框上的方法解决了,但是最小化的对话框还在。此外,对话框现在也出现在屏幕中央。