在我将鼠标悬停在按钮上之前,我的按钮不会出现

My buttons wont appear until i hover over it with my mouse

我有这个问题,是的,我看到其他人也有这个问题,但我真的无法将那里的代码与我的代码进行比较并以这种方式看到问题,所以我希望你能帮助我。

我使用 intellij 编写我的代码并使用 gui desinger 来制作 gui,但是当我添加一个按钮时我没有让它显示,直到我用鼠标悬停它并且位置错误并且我无法真正理解它上班。这是 classes // 这是 jpanel class public class paintMenu 扩展了 JPanel{

public JPanel menuPanel;
public JButton newGameButt;
public JButton loadGameButt;
public JButton helpbutt;
public JButton optionsButt;
public JButton info;
public JButton quitButt;

public paintMenu(){

    add(newGameButt);
    add(loadGameButt);
    add(helpbutt);
    add(info);
    add(optionsButt);
    add(quitButt);
    setVisible(true);


}

//this is de jframe class 
public class jframepainter extends JFrame {

paintMenu menupaint = new paintMenu();

public jframepainter(){


    //main frame settings
    setTitle("Kingdom V " + Reference.version);
    setSize(Reference.width, Reference.height);
    setResizable(false);
    setLocationRelativeTo(null);
    setVisible(Kingdom.vissible);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //draw jpnael
    getContentPane().add(menupaint);

}

我不知道 Kingdom class 是什么,但我可以假设 visible 是一个拼写错误,可能会导致编译时错误。您没有清楚地描述您的问题。

在将 JPanel 添加到其中后,尝试将 JFrame 设置为可见。此外,您可能希望在添加 JPanel 后调用 this.pack()。

//main frame settings
setTitle("Kingdom V " + Reference.version);
setSize(Reference.width, Reference.height);
setResizable(false);
setLocationRelativeTo(null);
//draw jpnael
getContentPane().add(menupaint);  //Moved this before setting Visible
this.pack();                      // call pack before setting visible
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(Kingdom.vissible);