import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;a
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.Border;
//主类
public class Register
{
public static void main(String[] args)
{
SampleFrame frame = new SampleFrame();//实例化框架类
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认关闭方式
frame.setVisible(true);//显示框架
}
}
//框架类
class SampleFrame extends JFrame
{
public SampleFrame()
{
setTitle("用户注册");//设置框架标题
setSize(250, 600);//设置大小
Container con = getContentPane();//取得内容窗格
SamplePanel panel = new SamplePanel();//实例化面板
con.add(panel);//将面板类添加到内容窗格
}
}
class SamplePanel extends JPanel
{
public SamplePanel()
{
Font font = new Font("华文行楷", Font.BOLD + Font.ITALIC, 48);//字体
Font font1 = new Font("宋体", Font.BOLD + Font.ITALIC, 30);
Font font2 = new Font("宋体", Font.BOLD + Font.ITALIC, 20);
JLabel labeltitle = new JLabel("用户注册");//设置标签名字
labeltitle.setFont(font);//设置字体
add(labeltitle);
JLabel labelname = new JLabel("用户名");
labelname.setFont(font1);
add(labelname);
fieldname = new JTextField(8);//文本框
add(fieldname);
JLabel labelpass = new JLabel("密 码");
labelpass.setFont(font1);
add(labelpass);
fieldpass = new JPasswordField(8);//密码框
add(fieldpass);
JLabel labelsex = new JLabel("性别");
add(labelsex);
labelsex.setFont(font2);
man = new JRadioButton("男");//单选框
woman = new JRadioButton("女");
group = new ButtonGroup();//按钮组(为按钮添加逻辑约束)
group.add(man);
group.add(woman);
add(man);
add(woman);
JPanel pan = new JPanel();//添加一个面板,设置边框,进行(外观约束)
Border borderlove = BorderFactory.createTitledBorder("爱好");
cb1 = new JCheckBox("体育");//复选框
cb2 = new JCheckBox("旅游");
cb3 = new JCheckBox("看书");
cb4 = new JCheckBox("音乐");
pan.setBorder(borderlove);//为面板设置边框
pan.add(cb1);
pan.add(cb2);
pan.add(cb3);
pan.add(cb4);
add(pan);
JLabel labelcity = new JLabel("城市");
add(labelcity);
String[] strcity =
{ "", "无锡", "南京", "苏州", "常州", "镇江", "扬州", "徐州", "连云港", "南通", "盐城",
"泰州", "宿迁" };
combocity = new JComboBox(strcity);//组合框
add(combocity);
JLabel labeldegree = new JLabel("学历");
add(labeldegree);
String[] strdegree =
{ "", "小学", "初中", "高中", "大学", "硕士", "博士" };
combodegree = new JComboBox(strdegree);
add(combodegree);
JLabel labelremark = new JLabel("备注");
add(labelremark);
area = new JTextArea(10, 15);//文本域
area.setLineWrap(true);//控制自动换行
JScrollPane sp = new JScrollPane(area);//滚动窗格(带有滚动条的面板)
area.setWrapStyleWord(true);//设置单词风格换行
add(sp);
JButton yes = new JButton("确定");
JButton no = new JButton("重置");
JPanel p = new JPanel();//添加一个面板,设置边框,进行(外观约束)
Border border = BorderFactory.createTitledBorder("你确定真的要注册吗?");
p.setBorder(border);//为面板设置边框
p.add(yes);
p.add(no);
add(p);
yes.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null, "注册成功!");
System.out.println("用户名:" + fieldname.getText() + " 密码:"
+ fieldpass.getText());
if (man.isSelected())
{
System.out.println("性别:男");
}
if (woman.isSelected())
{
System.out.println("性别:女");
}
String love = "";
if (cb1.isSelected())
{
love = love + cb1.getText() + " ";
}
if (cb2.isSelected())
{
love = love + cb2.getText() + " ";
}
if (cb3.isSelected())
{
love = love + cb3.getText() + " ";
}
if (cb4.isSelected())
{
love = love + cb4.getText() + " ";
}
System.out.println("爱好:" + love);
Object objcity = combocity.getSelectedItem();
String city = objcity.toString();
System.out.println("城市:" + city);
Object objdegree = combodegree.getSelectedItem();
String degree = objdegree.toString();
System.out.println("学历:" + degree);
System.out.println("备注:" + area.getText());
}
});
no.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null, "请重新注册!");
fieldname.setText("");//用户名框清空
fieldpass.setText("");//密码框清空
if(man.isSelected())
{
group.remove(man);
man.setSelected(false);//单选按钮不选中
group.add(man);
}
if(woman.isSelected())
{
group.remove(woman);
woman.setSelected(false);
group.add(woman);
}
woman.setSelected(false);
cb1.setSelected(false);//复选按钮不选中
cb2.setSelected(false);
cb3.setSelected(false);
cb4.setSelected(false);
combocity.setSelectedIndex(0);//使用下标设置默认值
combodegree.setSelectedIndex(0);
area.setText("");
}
});
}
private JTextField fieldname, fieldpass;
private JRadioButton man, woman;
private JCheckBox cb1, cb2, cb3, cb4;
private JComboBox combocity, combodegree;
private JTextArea area;
private ButtonGroup group;
}