Java_GUI_3

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值