我已经以正确的方式(假设)创建了jbutton,并将其添加到了jFrame中,请问有什么原因导致我在运行按钮时看不到按钮?

import javax.swing.*;
import java.awt.*;

public class MainMenu{
    public JFrame mainframe;
    public JButton newGameBTN;
    public JLabel title;

    public MainMenu(){
        mainframe = new JFrame("Java Assignment");
        mainframe.setSize(220 ,480);
        mainframe.setLocationRelativeTo(null);
        mainframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        newGameBTN = new JButton("New Game");
        title = new JLabel ( "Java Assignment",SwingConstants.CENTER);
        mainframe.getContentPane().add(newGameBTN);
        mainframe.getContentPane().add(title);

        mainframe.setVisible(true);
    }
}

最佳答案

mainframe.getContentPane().add(newGameBTN);
mainframe.getContentPane().add(title);


JFrame的内容窗格的默认布局是BorderLayout。当您不指定约束时,组件将添加到“ CENTER”。但是您只能在中心放置一个组件,因此添加的第二个组件将替换第一个组件。尝试:

mainframe.getContentPane().add(newGameBTN, BorderLayout.NORTH);

关于java - Java JButton不可见,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26620662/

10-10 07:30