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);
    }
}
时间: 2024-10-06 06:41:49

java之 ------ 图形界面(三)的相关文章

Java swing五子棋源码及实现之Java 开发图形界面程序五子棋的实现方式

今天给大家介绍一下如何用Java swing实现五子棋的开发即用Java开发图形界面程序五子棋,代码由于太多,只贴部分,最下面会附上下载地址,废话不多说,下面我们先看一下运行结果: 接下来我们看代码: 首先是创建主frame框架界面: package org.liky.game.frame; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Toolkit; import

JAVA与图形界面开发(Applet应用程序、AWT库、Swing)

Applet 1)简单说,Applet就是嵌入到网页中的小程序,Java代码. 2)编写Applet程序,要继承JApplet类,并根据自己需要覆写相关方法(init.start.stop.destroy<可选>)即可. 3)Applet生命周期: 初始化阶段:init方法(自动被调用,完成图形组件的初始化和版面分配) 执行阶段:start方法(当Applet当前窗口被激活时,执行相应代码) 终止阶段:stop方法(关闭Applet程序时) 释放资源:destroy方法 4)向Applet里添

Java GUI图形界面开发工具

Applet 应用程序     一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需安装 4.平台无关性 5.安全 Applet 的生命周期 编写一个 Applet 程序,需要继承 JApplet 类,这个类提供了 Applet 程序的基本行为方式,只需要覆写其中的方法就可以完成我们自己的 Applet 程序. 生命周期 1.初始化阶段:init 方法 在 Applet 执行之初,

Java 【图形界面设计】

图形界面设计总体可分为三大部分:组件.事件.布局 1.组件 原文地址:https://www.cnblogs.com/versionk/p/10713867.html

java基础图形界面和IO系统

1,java界面系统 事件的驱动编程:事件源,生成一个事件并触发他的组件称为事件源. 事件监听器.注册和事件处理:事件监听分类:分为GUI程序本身实现监听.使用成员内部内监听.匿名内部内监听:使用最多的还是匿名内部内实现监听: 事件适配器:使用适配器可以降低程序员的代码量.模型:把模型和控制器分离有利于多个模型共享一套数据: 2,I/O系统 流的分类:输入流和输出流.节点流和处理流: 文件类:分为字节流.字符流:字节流又分为低级字节流和高级字节流:高级字节流分为3大类(过滤流类.缓冲流.数据流等

java登录图形界面

编写程序,利用JtextField和JpasswordField分别接收用户输入的用户名和密码,并对用户输入的密码进行检验.对于每个用户名有三次密码输入机会. package beizi; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JLabel; import java.awt.BorderLayout; import javax.swing.JButton; import java.awt

Java Swing 图形界面实现验证码(验证码可动态刷新)

import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.Random;import javax.swing.JFrame; public class CheckCode extends JFrame {

java之 ------ 图形界面(二)

<img src="http://img.blog.csdn.net/20150604093446275?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTQ3OTg3NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> import java.awt.FlowLayout; imp

java它 ------ 图形界面(两)

<img src="http://img.blog.csdn.net/20150604093446275?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTQ3OTg3NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> import java.awt.FlowLayout; imp