我是编码的新手,由于没有显示我在GUI中添加的JButton和JLabel,因此我遇到了这个问题。我做错了什么以及如何解决?
import java.awt.ComponentOrientation;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
public class MainMenu {
public static void main (String []args) {
JFrame frame = new JFrame ("Main Menu");
frame.setSize(480,720);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(3,2,5,5));
JButton meals = new JButton ("Meals");
JLabel label = new JLabel ("Welcome back!");
panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
panel.add(meals);
panel.add(label);
frame.add(panel);
}
}
之所以会这样,是因为您在添加任何组件之前先frame.setVisible(true);
。您应该首先将组件添加到框架,然后使用setVisible
方法。
panel.add(meals);
panel.add(label);
frame.add(panel);
frame.setVisible(true); //visible after components added