1
我想在我的JDialog中添加2个标签;一个标签会有动画gif;其他将有文字。如何添加这两个,使他们不重叠?我不想硬编码他们的位置。我希望程序做出固有的调整。如何添加不重叠的标签
由于提前
代码:
JLabel l2=new JLabel("");
try {
Image img = ImageIO.read(getClass().getResource("resources/wait_animated.gif"));
ImageIcon imgnew=new ImageIcon("G:\\my java\\DesktopApplication1\\src\\desktopapplication1\\resources\\wait_animated.gif");
l2.setIcon(imgnew);
imgnew.setImageObserver(l2);
}
catch (IOException ex) {
}
l2.setLocation(300,300);
JDialog d=new JDialog();
JLabel l=new JLabel("Please Wait While Processing is Done... ");
JDesktopPane dp=new JDesktopPane();
dp.setPreferredSize(new Dimension(300,50));
l.setPreferredSize(new Dimension(250,50));
l2.setPreferredSize(new Dimension(20,20));
d.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
d.setTitle("Wait dialog");
d.add(l);
d.add(l2);
谢谢安德鲁。不,我不知道我能做到这一点。 – CyprUS 2011-03-26 19:24:23
不客气。请仔细看看Bombe的建议。在Java中创建GUI时,了解布局管理器如何工作非常重要。很少有必要手动设置组件的大小,首选大小或位置和边界。这是布局经理的职责。一旦布局管理器完成了他们的工作,对顶层容器的pack()调用将使其大小达到显示其包含的组件所需的最小值。像魔术一样。 ;) – 2011-03-26 19:44:20