java之 ------ 图形界面(三)
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; //性别button
private Object cities[][]; //存储多省的城市
private JComboBox combox_province, combox_city; //省份、城市组合框
private JButton button_add; //加入button
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)); //单选button子面板,网格布局。1行2列
rightpanel.add(panel_rb);
ButtonGroup bgroup = new ButtonGroup(); //button组
radiob_male = new JRadioButton("男",true); //创建单选button。默认选中
bgroup.add(radiob_male); //单选button加入到button组
panel_rb.add(radiob_male); //单选button加入到子面板
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) //单击button
{
String aline=number+", "+text_name.getText();
if (radiob_male.isSelected()) //指定单选button选中时
aline += ", "+radiob_male.getText(); //获得单选button表示的性别字符串
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);
}
}
java之 ------ 图形界面(三)的更多相关文章
- Java的图形界面依然是跨平台的
Awt:抽象窗口工具箱,它由三部分组成: ①组件:界面元素: ②容器:装载组件的容器(例如窗体): ③布局管理器:负责决定容器中组件的摆放位置. 图形界面的应用分四步: ① 选择一个容器: ⑴wind ...
- 【计项02组01号】Java版图形界面计算器
Java版图形界面计算器1.0版本 项目分析[1.0] 组成部分 代码结构 (1)窗口的创建 在<JDK 核心 API>中我们提到,创建一个窗口需要使用 JFrame 类.在本实验中,我们 ...
- Java Swing 图形界面开发(目录)
Java Swing 图形界面开发(目录) 2017年05月30日 23:50:42 阅读数:5228 本文链接: http://blog.csdn.net/xietansheng/article/d ...
- Java Swing图形界面开发
本文转自xietansheng的CSDN博客内容,这是自己见过的最通俗易懂.最适合快速上手做Java GUI开发的教程了,这里整合一下作为自己以后复习的笔记: 原文地址:https://blog.cs ...
- Java自学-图形界面 容器
Swing 的容器 JFrame和JDialog java的图形界面中,容器是用来存放 按钮,输入框等组件的. 窗体型容器有两个,一个是JFrame,一个是JDialog 步骤 1 : JFrame ...
- Java自学-图形界面 Swing中的线程
Swing中的线程 步骤 1 : 三种线程 在Swing程序的开发中,需要建立3种线程的概念 初始化线程 初始化线程用于创建各种容器,组件并显示他们,一旦创建并显示,初始化线程的任务就结束了. 事件调 ...
- JAVA与图形界面开发(Applet应用程序、AWT库、Swing)
Applet 1)简单说,Applet就是嵌入到网页中的小程序,Java代码. 2)编写Applet程序,要继承JApplet类,并根据自己需要覆写相关方法(init.start.stop.destr ...
- Java GUI图形界面开发工具
Applet 应用程序 一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需 ...
- java的图形界面初学惯用
1.单一界面的创建 public void mainFrame() { HashMap<String, Component> views = new HashMap<String, ...
随机推荐
- 原创 gif png bmp jeg 显示方法
/// <summary> /// 注意不要忘记引用那几个图片单元哦,除了bmp格式不需要引用任何单元, /// 其它图片格式都需要引用对应的图片单元 /// png ---> Vc ...
- KVM(二)CPU 和内存虚拟化
1. 为什么需要 CPU 虚拟化 X86 操作系统是设计在直接运行在裸硬件设备上的,因此它们自动认为它们完全占有计算机硬件.x86 架构提供四个特权级别给操作系统和应用程序来访问硬件. Ring 是指 ...
- java的maven项目(三)私服的搭建(windows版)
1 私服 nexus 安装nexus 启动服务 启动失败的解决方法: 登录nexus 用户名/密码 admin/admin123 仓库类型 Virtual 虚拟仓库 Proxy 代 ...
- 能Ping通外网但就是不能打开所有网页的解决办法
我碰到过两台电脑有这个问题.打百度的ip可以,但打网址不行.我记得是某个木马改动了三个dll文件,然后你电脑删了该木马,却没有恢复那三个dll所致.你google下dns恢复,注册dll关键字,一共要 ...
- DB2、ORACLE SQL写法的主要区别
DB2.ORACLE SQL写法的主要区别 说实话,ORACLE把国内的程序员惯坏了,代码中的SQL充斥着大量ORACLE特性,几乎没人知道ANSI的标准SQL是什么样子,导致程序脱离了ORACL ...
- mysql 游标的使用
游标是什么?? 游标是一个存储在MySQL服务器上的数据库查询,它不是一条select语句,而是被该语句所检索出来的结果集. 使用游标 在介绍如何创建游标之前,先说明下如何使用游标. 使用游标涉及几个 ...
- Validate on POST data
1. Basic validate on bean's attribute. @Notnull @Max @Min @Pattern ... 2. Validate by logic 1) pass ...
- 训练指南 UVA - 11478(最短路BellmanFord+ 二分+ 差分约束)
layout: post title: 训练指南 UVA - 11478(最短路BellmanFord+ 二分+ 差分约束) author: "luowentaoaa" catal ...
- 16、Flask实战第16天:Flask文件上传
上传文件 这里以图片来演示flask如何上传文件 首先来写个简单的前端页面upload.html, 在里面写个文件上传的表单 后端debug断点调试 获取到文件后,当然,我们需要把文件保存下来.在项目 ...
- sqlplus terminators - Semicolumn (;), slash (/) and a blank line
The problem here is the way SQL*Plus interprets the commands passed to it. Remember the "SQL co ...