import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Yan extends JFrame implements ActionListener
{
JFrame frame;                    //窗口
Container c;                    //内容面板
JLabel ja1,ja2,ja3,ja4,ja5,ja6;//标签
JTextField jb;               //文本域
JComboBox jcb;
JTextArea jta;               //文本区
JRadioButton jrb1,jrb2,jrb3;
JButton jb1,jb2;
JPanel jp1 ,jp2;            //中间容器,可以放同级或低级容器或组建

JCheckBox jch1,jch2,jch3;//复选框
public void Yan()
{
frame = new JFrame("学员信息");//创建窗口
c=frame.getContentPane();//获得框架的内容面板
//组件只能添加到内容面板中,不能直接添加到JFrame
c.setLayout(null);
jp1 = new JPanel();
jp1.setLayout(new GridLayout(3,1)); //jp1布局格式
jp1.setBorder(BorderFactory.createLineBorder(Color.red));
jp2 = new JPanel();
jp2.setLayout(new GridLayout(3,1));//jp2布局格式
jp2.setBorder(BorderFactory.createLineBorder(Color.blue));;
ja1 = new JLabel("姓名:");
ja2 = new JLabel("资历:");
ja3 = new JLabel("地址:");
ja4 = new JLabel("兴趣:");
ja5 = new JLabel("性别");
ja6 = new JLabel("提示信息");

jb = new JTextField(15);
jcb = new JComboBox();
jcb.addItem("博士   ");
jcb.addItem("硕士   ");
jcb.addItem("学士   ");
jcb.addItem("本科   ");
jta = new JTextArea();
jch1 = new JCheckBox("阅读");
jch2 = new JCheckBox("唱歌");
jch3 = new JCheckBox("跳舞");

jrb1 = new JRadioButton("男");
jrb2 = new JRadioButton("女");
jrb3 = new JRadioButton("不详");
ButtonGroup bg=new ButtonGroup();//不需要把ButtonGroup加入内容面板
//按钮组中的按钮互斥

jb1 = new JButton("验证");
jb2 = new JButton("重置");
jb1.addActionListener(this);
jb2.addActionListener(this);

bg.add(jrb1);
bg.add(jrb2);
bg.add(jrb3);

jp1.add(jch1);
jp1.add(jch2);
jp1.add(jch3);
jp2.add(jrb1);
jp2.add(jrb2);
jp2.add(jrb3);
c.add(ja1);
c.add(ja2);
c.add(ja3);
c.add(ja4);
c.add(ja5);
c.add(ja6);
c.add(jb);
c.add(jcb);
c.add(jp1);
c.add(jta);
c.add(jp2); c.add(jb1);
c.add(jb2);
ja1.setBounds(10,30,40,30);
jb.setBounds(60,30,90,30);
ja2.setBounds(160,30,40,30);
jcb.setBounds(220,30,90,30);
ja3.setBounds(10,80,40,30);
jta.setBounds(60,80,90,60);
ja4.setBounds(160,80,40,30);
jp1.setBounds(220,80,90,80);
ja5.setBounds(10,180,40,30);
jp2.setBounds(60,180,70,60);
ja6.setBounds(200,200,100,30);
jb1.setBounds(110,260,80,30);
jb2.setBounds(210,260,80,30);
frame.setSize(400,320);
frame.setVisible(true);
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jb1)
{
if(jb.getText().equals("")&&jta.getText().equals(""))
ja6.setText("姓名和地址不能为空!");
else if(jb.getText().equals(""))
ja6.setText("姓名不能为空!");
else if(jta.getText().equals(""))
ja6.setText("地址不能为空!");
 
}
else if(e.getSource()==jb2)
{
   jb.setText("");
   jta.setText("");
}
}
public static void main(String args[])
{
Yan fg = new Yan();

}
}
它的界面和内容怎么没有,你们帮我看看呢!

解决方案 »

  1.   

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class Yan extends JFrame implements ActionListener
    {
                                           //窗口
            Container c;                    //内容面板
            JLabel ja1,ja2,ja3,ja4,ja5,ja6;//标签
            JTextField jb;               //文本域
            JComboBox jcb;
            JTextArea jta;               //文本区
            JRadioButton jrb1,jrb2,jrb3;
            JButton jb1,jb2;
            JPanel jp1 ,jp2;            //中间容器,可以放同级或低级容器或组建
            JCheckBox jch1,jch2,jch3;//复选框
            Yan()
            {
                     //创建窗口
                    c=this.getContentPane();//获得框架的内容面板
                    //组件只能添加到内容面板中,不能直接添加到JFrame
                    c.setLayout(new FlowLayout());
                    jp1 = new JPanel();
                    jp1.setLayout(new GridLayout(3,1)); //jp1布局格式
                    jp1.setBorder(BorderFactory.createLineBorder(Color.red));
                    jp2 = new JPanel();
                    jp2.setLayout(new GridLayout(3,1));//jp2布局格式
                    jp2.setBorder(BorderFactory.createLineBorder(Color.blue));;
                    ja1 = new JLabel("姓名:");
                    ja2 = new JLabel("资历:");
                    ja3 = new JLabel("地址:");
                    ja4 = new JLabel("兴趣:");
                    ja5 = new JLabel("性别");
                    ja6 = new JLabel("提示信息");                jb = new JTextField(15);
                    jcb = new JComboBox();
                    jcb.addItem("博士   ");
                    jcb.addItem("硕士   ");
                    jcb.addItem("学士   ");
                    jcb.addItem("本科   ");
                    jta = new JTextArea();
                    jch1 = new JCheckBox("阅读");
                    jch2 = new JCheckBox("唱歌");
                    jch3 = new JCheckBox("跳舞");                jrb1 = new JRadioButton("男");
                    jrb2 = new JRadioButton("女");
                    jrb3 = new JRadioButton("不详");
                    ButtonGroup bg=new ButtonGroup();//不需要把ButtonGroup加入内容面板
                    //按钮组中的按钮互斥                jb1 = new JButton("验证");
                    jb2 = new JButton("重置");
                    jb1.addActionListener(this);
                    jb2.addActionListener(this);                bg.add(jrb1);
                    bg.add(jrb2);
                    bg.add(jrb3);                jp1.add(jch1);
                    jp1.add(jch2);
                    jp1.add(jch3);
                    jp2.add(jrb1);
                    jp2.add(jrb2);
                    jp2.add(jrb3);
                    c.add(ja1);
                    c.add(ja2);
                    c.add(ja3);
                    c.add(ja4);
                    c.add(ja5);
                    c.add(ja6);
                    c.add(jb);
                    c.add(jcb);
                    c.add(jp1);
                    c.add(jta);
                    c.add(jp2);                c.add(jb1);
                    c.add(jb2);
                    ja1.setBounds(10,30,40,30);
                    jb.setBounds(60,30,90,30);
                    ja2.setBounds(160,30,40,30);
                    jcb.setBounds(220,30,90,30);
                    ja3.setBounds(10,80,40,30);
                    jta.setBounds(60,80,90,60);
                    ja4.setBounds(160,80,40,30);
                    jp1.setBounds(220,80,90,80);
                    ja5.setBounds(10,180,40,30);
                    jp2.setBounds(60,180,70,60);
                    ja6.setBounds(200,200,100,30);
                    jb1.setBounds(110,260,80,30);
                    jb2.setBounds(210,260,80,30);
                    this.setSize(400,320);
                    this.setVisible(true);
                    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    show();
                    
            }        public void actionPerformed(ActionEvent e)
            {
                    if(e.getSource()==jb1)
                    {
                            if(jb.getText().equals("")&&jta.getText().equals(""))
                                    ja6.setText("姓名和地址不能为空!");
                            else if(jb.getText().equals(""))
                                    ja6.setText("姓名不能为空!");
                            else if(jta.getText().equals(""))
                                    ja6.setText("地址不能为空!");                }
                    else if(e.getSource()==jb2)
                    {
                               jb.setText("");
                               jta.setText("");
                    }
            }
            public static void main(String args[])
            {
                    Yan fg = new Yan();        }
    }
      

  2.   

    1.public void Yan()这里写错了
    构造函数是不能写返回值的.写了就不是构造函数了,成了普通的函数了,应该这样写:
    public Yan(){
     ...
    }
    2.不是错误,只是多余的代码
    JFrame frame;                    //窗口
    省略......
    frame = new JFrame("学员信息");//创建窗口
    c=frame.getContentPane();//获得框架的内容面板
    省略......
    frame.setSize(400,320);
    frame.setVisible(true);这个frame不用创建的,类Yan本身就是一个JFrame,应该改成:
    //去掉JFrame frame;                    //窗口
    省略......
    //去掉frame = new JFrame("学员信息");//创建窗口
    c=this.getConttentPane();
    省略......
    this.setSize(400,320);
    this.setVisible(true);