Java GUI:按钮控件不可见
我在屏幕上显示主菜单时遇到问题。我看不出问题出在哪里。它显示的只是一个空白的JFrame窗口。它没有显示带有按钮的面板 主要类别:Java GUI:按钮控件不可见,java,user-interface,jframe,jpanel,jbutton,Java,User Interface,Jframe,Jpanel,Jbutton,我在屏幕上显示主菜单时遇到问题。我看不出问题出在哪里。它显示的只是一个空白的JFrame窗口。它没有显示带有按钮的面板 主要类别: public class Main { public static void main(String[] args) { GUIView gui = new GUIView(); } } GUIView类: import javax.swing.*; import java.awt.*; public class GUIView { protecte
public class Main {
public static void main(String[] args) {
GUIView gui = new GUIView();
}
}
GUIView类:
import javax.swing.*;
import java.awt.*;
public class GUIView {
protected JFrame frame;
public GUIView() {
frame = new JFrame("Test");
frame.setVisible(true);
frame.setSize(500,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
主菜单类:
import javax.swing.*;
import java.awt.*;
public class MainMenu extends GUIView {
private JButton b1, b2, b3;
private JPanel panel;
public MainMenu() {
GridBagLayout gridbag = new GridBagLayout();
b1 = new JButton();
b2 = new JButton();
b3 = new JButton();
//Button Settings;
b1.setText("Administrator");
b2.setText("Program Leader");
b3.setText("Lecturer");
//Panel Settings
panel = new JPanel();
panel.setLayout(gridbag);
panel.add(b1);
panel.add(b2);
panel.add(b3);
panel.setVisible(true);
super.frame.add(panel);
}
}这样试试
public class Test1 extends JFrame {
int count;
public Test1(){
this.setSize(400,400);
MyCompo m = new MyCompo();
this.add(BorderLayout.CENTER,m);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
class MyCompo extends JPanel{
public MyCompo() {
this.setSize(300,300);
setComponents();
//setHandlers();
}
public void paintComponent(Graphics g) {
//setComponents();
}
public void setComponents() {
this.setLayout(new GridLayout(5,4));
this.add(new Button("1"));
this.add(new Button("2"));
this.add(new Button("3"));
this.add(new Button("4"));
this.add(new Button("5"));
this.add(new Button("6"));
this.add(new Button("7"));
this.add(new Button("8"));
}
}
public static void main(String[] args){
EventQueue.invokeLater(new Runnable() {
public void run() {
Test1 t = new Test1();
t.setVisible(true);
}
});
}
}
您从未创建MainMenu的实例。要修复此问题,您可以执行以下操作:
public static void main(String[] args) {
GUIView gui = new MainMenu();
}
您正在构造GUI视图,但不是主菜单