我的组件在JPanel上不可见

时间:2014-07-11 12:29:15

标签: java swing

我是一名新的java程序员,我正面临着这个问题。我添加的JButton和textfield没有显示在我的面板上。我真的不知道为什么,因为我已经将所有组件添加到面板

这是我的代码:

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

public class aboutUs extends JFrame implements ActionListener {

    JButton b,b2,b3,b4;
     JTextField t1;
     JTextArea a1;
     JPanel p1, p2,p3,p11,AboutPanel;
     JFrame about = new JFrame ("About us");
     JRadioButton r1,r2;
     JMenuBar menu;
     JMenu open;
     JMenuItem aboutFrame;

     public aboutUs (){

        about.setSize(500,500);

        about.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        about.setLayout(new BorderLayout());
        about.setLocationRelativeTo(null);
        about.setResizable(false);
        AboutPanel = new JPanel (new GridLayout (1,2));
        t1 = new JTextField (30);
        AboutPanel.add(t1);
        b4 = new JButton ("click here");
        AboutPanel.add(b4);
        add(AboutPanel, BorderLayout.CENTER);
        about.setVisible (true);
     }

     public void actionPerformed (ActionEvent e){

     }
}
     class test {

     public static void main (String [] args){
        aboutUs a = new aboutUs();
     }
     }

3 个答案:

答案 0 :(得分:3)

您正在创建名为JFrame的{​​{1}}并使其可见。但是about类是aboutUs,您已将按钮和文本添加到该类。

更改:

JFrame

add(AboutPanel, BorderLayout.CENTER);

答案 1 :(得分:0)

添加about.pack(),然后添加about.setVisible (true);

编辑:是的,就像史蒂夫说你还缺少about.add(AboutPanel, BorderLayout.CENTER);

答案 2 :(得分:0)

尝试:

about.add(AboutPanel, BorderLayout.CENTER);