java之 ------ 图形界面(三)
来源:互联网 发布:小偶的软件 编辑:程序博客网 时间:2024/06/16 03:07
import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.TitledBorder;public class UserJFrame extends JFrame implements ActionListener { private int number=1; //编号 private JTextField text_number, text_name; //编号、姓名文本行 private JRadioButton radiob_male, radiob_female; //性别按钮 private Object cities[][]; //存储多省的城市 private JComboBox combox_province, combox_city; //省份、城市组合框 private JButton button_add; //添加按钮 private JTextArea text_user; //文本区 public UserJFrame(Object provinces[], Object cities[][])//参数指定省份和城市数组 { super("输入用户信息"); this.setSize(740, 300); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel rightpanel=new JPanel(new GridLayout(6,1));//右面板 JPanel leftpanel=new JPanel(new BorderLayout());//左面板 leftpanel.setBorder(new TitledBorder("Person")); JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,rightpanel,leftpanel);//水平分隔窗格,左右各添加一个面板 split.setDividerLocation(140);//设置水平分隔条的位置 split.setEnabled(false);//设置分隔条不能变动 this.getContentPane().add(split);//框架内容窗格添加分隔窗格 text_user = new JTextArea(); text_user.setEditable(false); leftpanel.add(text_user); leftpanel.add(new JScrollPane(text_user));//设置文本编辑域可以滚动 text_number = new JTextField("1"); //编号文本行 text_number.setEditable(false); //不可编辑,编号自动生成 rightpanel.add(text_number); text_name = new JTextField("姓名"); rightpanel.add(text_name); JPanel panel_rb=new JPanel(new GridLayout(1,2)); //单选按钮子面板,网格布局,1行2列 rightpanel.add(panel_rb); ButtonGroup bgroup = new ButtonGroup(); //按钮组 radiob_male = new JRadioButton("男",true); //创建单选按钮,默认选中 bgroup.add(radiob_male); //单选按钮添加到按钮组 panel_rb.add(radiob_male); //单选按钮添加到子面板 radiob_female = new JRadioButton("女"); bgroup.add(radiob_female); panel_rb.add(radiob_female); this.cities = cities; combox_province = new JComboBox(provinces); //省份组合框 combox_province.setEditable(false); //设置组合框可编辑 combox_province.addActionListener(this); rightpanel.add(combox_province); combox_city = new JComboBox(cities[0]); //城市组合框 rightpanel.add(combox_city); button_add = new JButton("添加"); button_add.addActionListener(this); rightpanel.add(button_add); this.setVisible(true); } public void actionPerformed(ActionEvent e) //单击事件处理方法 { if (e.getSource()==combox_province) //在组合框的下拉列表中选择数据项时 { int i=combox_province.getSelectedIndex(); //省份组合框当前选中项序号 combox_city.removeAllItems(); //清除地区组合框中原所有内容 for (int j=0; j<this.cities[i].length; j++) combox_city.addItem(this.cities[i][j]); //地区组合框添加数据项 } if (e.getSource() == button_add) //单击按钮 { String aline=number+", "+text_name.getText(); if (radiob_male.isSelected()) //指定单选按钮选中时 aline += ", "+radiob_male.getText(); //获得单选按钮表示的性别字符串 if (radiob_female.isSelected()) aline += ", "+radiob_female.getText(); aline += ", "+combox_province.getSelectedItem(); //获得组合框选中项的字符串 aline += ", "+combox_city.getSelectedItem(); text_user.append(aline+"\n"); //文本区添加一行字符串 this.number++; //编号自动加1 text_number.setText(""+this.number); text_name.setText("姓名"); } } public static void main(String arg[]) { Object provinces[]={"江苏省", "浙江省"}; Object cities[][]={{"南京市","苏州市","无锡市"}, {"杭州市","宁波市","温州市"}}; new UserJFrame(provinces, cities); }}
2 1
- java之 ------ 图形界面(三)
- java之 ------ 图形界面(二)
- JavaSwing图形界面编程之JApplet(三)
- JAVA图形界面(GUI)之容器
- JAVA图形界面(GUI)之常用组件
- JAVA图形界面(GUI)之布局管理器
- JAVA图形界面(GUI)之表格
- JAVA图形界面(GUI)之菜单
- java基础之 图形界面
- JAVA图形界面之JTable
- TWaver图形界面之道(三)TWaver产品家族
- JavaSwing图形界面编程之消息提示框(三)
- JavaSwing图形界面编程之简易计算器(三)
- Java基础之图形界面GUI
- java图形界面之文字飘动
- java图形界面(GUI)
- JAVA图形界面(GUI)
- java--图形界面(2)
- mysql 添加伪列 如同oracle的rownum
- Django+uWsgi+nginx部署
- Median of Two Sorted Arrays
- spring中@Resource和@Autowired的区别是什么?
- 模拟器黑屏解决方法
- java之 ------ 图形界面(三)
- STL 的一些数据结构比较
- C++实现页码数字统计
- 需要学习8个重要的cmd指令
- CSS vertical-align的深入理解(二)之text-top篇
- c++ primer 学习笔记(2)迭代器
- Eclipse中自动提示的参数变成arg0,arg1的解决办法
- 关于STM32的IAP在线升级的整理
- Hadoop的简单控制台log分析