我有一些代码:
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFrame mainFrame = new JFrame();
JPanel windowPanel = new JPanel(new FlowLayout());
// windowPanel.setPreferredSize(new Dimension(200,200));
windowPanel.add(colorChooser);
windowPanel.add(button);
windowPanel.setVisible(true);
mainFrame.add(windowPanel);
}
});
问题是单击按钮后如何显示新的
FlowLayout
(在新窗口中)? 最佳答案
首先交换windowPanel.setVisible(true);
和mainFrame.add(windowPanel);
mainFrame.add(windowPanel);
windowPanel.setVisible(true);
在
mainFrame.pack()
调用之前添加setVisible
也不会受到影响。不过,您可能希望先进行The Use of Multiple JFrames: Good or Bad Practice?的研究,然后再致力于特定的设计。