在创建和显示 JDialog 之后,我正在尝试将组件添加到它。我没有尝试使更改真正更新到屏幕上,而且我已经阅读并应用了我能找到的与此相关的所有问题。
此示例代码创建了一个显示单词“test”的模态 JDialog。我无法让它显示“test2”。几乎完全相同的代码,但使用 JFrame 而不是 JDialog 的行为符合我的预期,所以我不明白。我是 Java 新手,尤其是摇摆不定。
import javax.swing.*;
public class DialogTester {
public static void main(String[] args) {
new DialogTester();
}
public DialogTester() {
JFrame jframe = new JFrame();
jframe.setVisible(true);
JDialog jdialog = new JDialog(jframe,true);
JPanel jpanel = new JPanel();
jpanel.add(new JLabel("test"));
jdialog.add(jpanel);
jdialog.setVisible(true);
jpanel.add(new JLabel("test2"));
jpanel.revalidate();
jdialog.getContentPane().validate();
jdialog.pack();
}
}
我也试过打电话
jdialog.repaint();
什么也没做。