我正在尝试从不同的类添加一个简单的JPanel
,只有一个JButton
和一个JTextArea
到GUI中。
我正在使用 IntelliJ IDEA 作为 swing 应用程序,没有错误。但是,JPanel
根本不出现/未显示。
import javax.swing.*;
import java.awt.*;
import java.awt.event.ContainerAdapter;
import java.awt.event.ContainerEvent;
public class GUI {
private JPanel mainPanel;
private JPanel mainInner;
public GUI() {
mainPanel.addContainerListener(new ContainerAdapter() {
@Override
public void componentAdded(ContainerEvent e) {
super.componentAdded(e);
System.out.println("component Added");
}
});
}
public void start() {
JFrame frame = new JFrame("GUI");
frame.setContentPane(new GUI().mainPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
InnerPanel inner = new InnerPanel();
mainInner = inner.getMainInner();
inner.setLayout(new BorderLayout());
mainPanel.setLayout(new BorderLayout());
mainPanel.add(mainInner, BorderLayout.CENTER);
mainPanel.revalidate();
mainPanel.repaint();
frame.pack();
frame.setVisible(true);
}
}
组件监听器显示组件已添加,但未显示。
最佳答案
您忘记将 mainPanel
添加到 frame
:
frame.add(mainPanel);
关于java - 从不同的类添加 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53978155/