我有一些代码:

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?的研究,然后再致力于特定的设计。

10-02 00:09