繁体   English   中英

从其他类添加JPanel

[英]Adding a JPanel from a different class

我正在尝试从GUI中仅添加JButtonJTextArea的其他类添加一个简单的JPanel

我正在为swing应用程序使用IntelliJ IDEA,并且没有错误。 但是, 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM