zoukankan      html  css  js  c++  java
  • Java(二)

           课后,我查阅相关学习资料和Java API制作了以下界面,界面包含了单选按钮(JRadioButton)、复选框(JCheckBox)、组合框(JComboBox)、单行文本输入框(JTextField)以及对话框(JDialog),为label标签设置了背景颜色以及为按钮添加了事件响应。

           可以单击下拉菜单选择适应的年月、婚姻状况等,滚动条设置的最大显示数目为五个,单击提交按钮弹出提交页面的对话框,单击对话框中的完成按钮,程序停止。界面用坐标对各个组件进行了定位。

    其中有一些要注意的地方:

    1、单选框要实现多选一,需要将他们放入一个按钮组中,例如:

    ButtonGroup bg = new ButtonGroup();      //创建按钮组

    JRadioButton jrb1 = new JRadioButton();

    JRadioButton jrb2 = new JRadioButton();

    bg.add(jrb1);

    bg.add(jrb2);

    2、设置背景颜色时,JLabel的默认opaque为false,改变背景颜色用setBackground(Color)即可,要看到效果则需要setOpaque(true)。

    3、setBounds(x,y,,width,height);

    x:组件在容器X轴上的起点

    y:组件在容器Y轴上的起点

    width:组件的长度

    height:组件的高度

    4、其他组件的基本代码可参见以下源码

      1 import java.awt.Color;
      2 import java.awt.Font;
      3 import java.awt.event.ActionEvent;
      4 import java.awt.event.ActionListener;
      5 
      6 import javax.swing.ButtonGroup;
      7 import javax.swing.JButton;
      8 import javax.swing.JCheckBox;
      9 import javax.swing.JComboBox;
     10 import javax.swing.JDialog;
     11 import javax.swing.JFrame;
     12 import javax.swing.JLabel;
     13 import javax.swing.JPasswordField;
     14 import javax.swing.JRadioButton;
     15 import javax.swing.JTextField;
     16 
     17 public class register {
     18 
     19     public static void main(String[] args) {
     20         // TODO Auto-generated method stub
     21         JFrame frame = new JFrame("创建您的征婚档案");
     22         frame.setLayout(null);
     23         
     24         JLabel label0 = new JLabel("   个人资料:");
     25         label0.setBounds(0,10,450,25);
     26         label0.setFont(new Font("",Font.BOLD,15));
     27         label0.setBackground(Color.ORANGE);
     28         label0.setOpaque(true);
     29         frame.add(label0);
     30         
     31         JLabel label1 = new JLabel("性 别:");
     32         label1.setBounds(40,55,120,15);
     33         frame.add(label1);
     34         
     35         JLabel label2 = new JLabel("出生日期:");
     36         label2.setBounds(40,95,120,15);
     37         frame.add(label2);
     38         
     39         JLabel label3 = new JLabel("工作地区:");
     40         label3.setBounds(40,135,120,15);
     41         frame.add(label3);
     42         
     43         JLabel label4 = new JLabel("婚姻状况:");
     44         label4.setBounds(40,175,120,15);
     45         frame.add(label4);
     46         
     47         JLabel label5 = new JLabel("学          历:");
     48         label5.setBounds(40,215,120,15);
     49         frame.add(label5);
     50         
     51         JLabel label6 = new JLabel("每月收入:");
     52         label6.setBounds(40,255,120,15);
     53         frame.add(label6);
     54         
     55         JLabel label7 = new JLabel("   您的账号信息:");
     56         label7.setBounds(0,310,450,25);
     57         label7.setFont(new Font("",Font.BOLD,15));
     58         label7.setBackground(Color.ORANGE);
     59         label7.setOpaque(true);
     60         frame.add(label7);
     61         
     62         JLabel label8 = new JLabel("手  机  号:");
     63         label8.setBounds(40,355,120,15);
     64         frame.add(label8);
     65         
     66         JLabel label9 = new JLabel("密         码:");
     67         label9.setBounds(40,395,120,15);
     68         frame.add(label9);
     69         
     70         JLabel label10 = new JLabel("昵         称:");
     71         label10.setBounds(40,435,120,15);
     72         frame.add(label10);
     73         
     74         ButtonGroup bg = new ButtonGroup();
     75         JRadioButton man = new JRadioButton("男");
     76         man.setBounds(110,50,40,25);
     77         man.setSelected(true);
     78         JRadioButton woman = new JRadioButton("女");
     79         woman.setBounds(185,50,40,25);
     80         bg.add(man);
     81         bg.add(woman);
     82         frame.add(man);
     83         frame.add(woman);
     84         
     85         JComboBox data1 = new JComboBox();
     86         data1.addItem("1994年");
     87         data1.addItem("1995年");
     88         data1.addItem("1996年");
     89         frame.add(data1);
     90         data1.setBounds(110,90,80,25);
     91         
     92         String[] month = {"12月","11月","10月","9月","8月","7月","6月",
     93                 "5月","4月","3月","2月","1月"};
     94         JComboBox data2 = new JComboBox(month);
     95         data2.setMaximumRowCount(5);
     96         frame.add(data2);
     97         data2.setBounds(200,90,80,25);
     98         JComboBox data3 = new JComboBox();
     99         data3.addItem("30日");
    100         data3.addItem("29日");
    101         data3.addItem("28日");
    102         frame.add(data3);
    103         data3.setBounds(290,90,80,25);
    104         
    105         JTextField area = new JTextField("山西省");
    106         frame.add(area);
    107         area.setBounds(110,130,100,25);
    108         JTextField city = new JTextField("请选择");
    109         frame.add(city);
    110         city.setBounds(220,130,80,25);
    111         
    112         JComboBox marry = new JComboBox<>();
    113         marry.addItem("已婚");
    114         marry.addItem("未婚");
    115         frame.add(marry);
    116         marry.setBounds(110,170,120,25);
    117         
    118         JComboBox study = new JComboBox<>();
    119         study.addItem("大学本科");
    120         study.addItem("研究生");
    121         study.addItem("博士");
    122         frame.add(study);
    123         study.setBounds(110,210,120,25);
    124         
    125         JTextField money = new JTextField();
    126         frame.add(money);
    127         money.setBounds(110, 250,160, 25);
    128         
    129         JTextField number = new JTextField();
    130         frame.add(number);
    131         number.setBounds(110, 350,160, 25);
    132         
    133         JPasswordField password = new JPasswordField();
    134         frame.add(password);
    135         password.setBounds(110, 390,160, 25);
    136         
    137         JTextField name = new JTextField();
    138         frame.add(name);
    139         name.setBounds(110, 430,160, 25);
    140         
    141         JCheckBox cb = new JCheckBox("阅读并同意此服务条款和隐私政策");
    142         cb.setBounds(100,500,260,25);
    143         frame.add(cb);
    144         
    145         //点鸡提交弹出的页面设置
    146         JDialog dlg = new JDialog(frame,"提交成功");
    147         dlg.setBounds(600,220,200,180);
    148         dlg.setLayout(null);
    149         dlg.setModal(true);
    150         
    151         JButton btn = new JButton("提交");
    152         frame.add(btn);
    153         btn.setBounds(180,550,75,25);
    154         
    155         //提交事件响应
    156         btn.addActionListener(new ActionListener() {
    157             
    158             @Override
    159             public void actionPerformed(ActionEvent arg0) {
    160                 // TODO Auto-generated method stub
    161                 dlg.setVisible(true);
    162             }
    163         });
    164         
    165         //创建对话框中退出按钮并添加事件响应
    166         JButton bt = new JButton("完成");
    167         dlg.add(bt);
    168         bt.setBounds(50,50,80,30);
    169         bt.addActionListener(new ActionListener() {
    170             
    171             @Override
    172             public void actionPerformed(ActionEvent arg0) {
    173                 // TODO Auto-generated method stub
    174                 System.exit(0);
    175             }
    176         });
    177         
    178         
    179         frame.setBounds(480,15,450,675);
    180         frame.setVisible(true);
    181         
    182         
    183         
    184         
    185     }
    186 
    187 }
    源码

    效果图

          

       

         *头像就是本人照片

  • 相关阅读:
    dbcc练习1
    查看底层硬件信息
    mkfs.xfs命令没找到
    Linux清空内存缓存
    常用CentOS 6/7 扩展源
    CentOS 6.x安装gcc 4.8/4.9/5.2
    根据SSH私钥(private key)计算SSH公钥(public key)
    Mac下Sublime Text Vim模式 方向键无法长按
    【转载】Hadoop和大数据:60款顶级大数据开源工具
    Linux Shell产生16进制随机数
  • 原文地址:https://www.cnblogs.com/Awen-/p/5279995.html
Copyright © 2011-2022 走看看