我有这段代码:
public class GUI extends JFrame {
private PlaneUI planeui;
public GUI(PlaneUI planeui) {
this.planeui = planeui;
}
//We have put the code that creates the GUI inside a method
public GUI() {
start();
planeui.display();
} ...
这只是一个测试,我需要方法“planeui.display”才能在程序启动时使用,方法“start();”已经有效了。
public final class PlaneUI extends JFrame {
public void display() {
//Creates a new JPanel object
JPanel panelStart = new JPanel();
getContentPane().add(panelStart);
//Changing the default layout from Flowlayout to absolute
panelStart.setLayout(null);
setTitle("Reservationer"); //Sets the window title
setSize(236, 256); //Sets the default size of the window
setLocationRelativeTo(null); //Start location of the window (centered)
setDefaultCloseOperation(EXIT_ON_CLOSE); //Exits the window
}
}
我已经导入了所需的库,我觉得问题出在一个未正确创建的对象,因为我得到了nullpointerexception。我尝试在main方法中运行此planeUI类,它正常工作。我不能让它以这种方式工作..
答案 0 :(得分:2)
在功能PlaneUI.display()
中添加最后一行setVisible(true)
,因为您添加了所有内容但未显示任何内容
答案 1 :(得分:1)
您必须将此添加到display()
方法中:
setVisible(true);
否则,您所做的只是设置JFrame的所有方面并向其添加JPanel。之后你必须让它可见。