我有这个代码运行没有任何错误,但它没有按照我计划的方式运行。我正在试图找出为什么当我点击标有“重要!!”的按钮时,我的“继续”按钮没有显示。
唯一显示的是一个空白的弹出窗口,它是代码JDialog的一部分,它设置为模态和可见。我只是想不出来。如果有人可以帮助我,我会非常感激。
JPanel hehePanel = new JPanel(new FlowLayout(FlowLayout.RIGHT,10,20));
JDialog dialog = new JDialog((JFrame)null);
dialog.getContentPane().add(hehePanel,BorderLayout.CENTER);
JButton hButton = new JButton("important!!");
JButton fButton = new JButton(" on construction !!");
JButton exitButton = new JButton("EXIT CAW ");
hehePanel.add(hButton);
hButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
final JPanel hehePanel = new JPanel();
final JDialog dialog = new JDialog();
dialog.getContentPane().add(hehePanel,BorderLayout.PAGE_END);
dialog.toFront();
dialog.setModal(true);
dialog.pack();
dialog.setLocationRelativeTo(null);
dialog.setVisible(true);
JButton closebutton = new JButton("Continue");
closebutton.setActionCommand("continue");
closebutton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if (evt.getActionCommand().equals("continue")) {
dialog.dispose();
}
}
});
hehePanel.add(closebutton);
}
});
hehePanel.add(fButton);
hehePanel.add(exitButton);
答案 0 :(得分:5)
您需要将所有组件添加到对话框之前,使对话框可见,并在pack()
对话框之前。
在关闭对话框之前, dialog.setVisible(true)
之后的所有代码都不会执行。