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 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();
} }
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);
|