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();
}
}
它的界面和内容怎么没有,你们帮我看看呢!
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();
}
}
它的界面和内容怎么没有,你们帮我看看呢!
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(); }
}
构造函数是不能写返回值的.写了就不是构造函数了,成了普通的函数了,应该这样写:
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);