我有 2 个框架。我想从第一帧打开第二帧。我尝试了这个,但它导致了异常。
class aboutaction implements ActionListener {
public void actionPerformed(ActionEvent e) {
frame.dispose();
aboutInfo about = new aboutInfo();
about.frame.setVisible(true);
}
}
about.addActionListener(new aboutaction());
这是完整的程序:https://github.com/Zhelyazkov97/Fuel-calculator.git .
最佳答案
您的基本问题是由于对 Swing 工作方式的误解和糟糕的设计而产生的 NullPointerException
。
基本上,您将类定义为...
public class aboutInfo extends JFrame {
private JPanel contentPane;
javax.swing.JFrame frame;
现在,困惑开始了,您基本上有两个框架,但您只向 aboutInfo
实例添加组件。
这里的基本答案是,摆脱frame
,它只是让问题变得困惑。事实上,您首先不应该从 JFrame
进行扩展,您应该真正使用 JPanel
之类的东西,并简单地将类的实例添加到 的实例中JFrame
或 JDialog
或您想要的任何容器
关于java - Swing:连接第二个框架的可视化界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34819997/