当前位置 : IT培训网 > Java开发 > Java教程 > Java语言之文本框和文本区的输入输出

Java语言之文本框和文本区的输入输出

时间:2016-09-01 17:49:13  来源:Java培训网  作者:IT培训网  已有:名学员访问该课程
标签(Tag):   java语言(263)gui(16)
对于采用文本框作为输入的情况,最后输入的回车符可以激发输入完成事件,通常不用另设按钮。事件处理程序可以利用单词分析器分析出一个个数,再利用字符串转换数值方法,获得输入的数值。对于输出,程序先将数值转换成

Java编程的知识点很多,在上一节中我们谈到了Java文本区和文本框方面的知识点,但这部分内容还完结,下面就让我们一起来看看Java文本框和文本区的输入输出吧,看看如何学习才能快速提升技能,掌握重点。

在GUI中,常用文本框和文本区实现数据的输入和输出。如果采用文本区输入,通常另设一个数据输入完成按钮。当数据输入结束时,点击这个按钮。事件处理程序利用getText()方法从文本区中读取字符串信息。对于采用文本框作为输入的情况,最后输入的回车符可以激发输入完成事件,通常不用另设按钮。事件处理程序可以利用单词分析器分析出一个个数,再利用字符串转换数值方法,获得输入的数值。对于输出,程序先将数值转换成字符串,然后通过setText()方法将数据输出到文本框或文本区。

【例 11-9】小应用程序设置一个文本区、一个文本框和两个按钮。用户在文本区中输入整数序列,单击求和按钮,程序对文本区中的整数序列进行求和,并在文本框中输出和。单击第二个按钮,清除文本区和文本框中的内容。

import java.util.*;import java.applet.*;import java.awt.*;

import javax.swing.*;import java.awt.event.*;

public class J509 extends Applet implements ActionListener{

    JTextArea textA;JTextField textF;JButton b1,b2;

    public void init(){

        setSize(250,150);

        textA=new JTextArea("",5,10);

        textA.setBackground(Color.cyan);

        textF=new JTextField("",10);

        textF.setBackground(Color.pink);

        b1=new JButton("求 和"); b2=new JButton("重新开始");

        textF.setEditable(false);

        b1.addActionListener(this); b2.addActionListener(this);

        add(textA); add(textF); add(b1);add(b2);

    }

    public void actionPerformed(ActionEvent e){

        if(e.getSource()==b1){

            String s=textA.getText();

            StringTokenizer tokens=new StringTokenizer(s);

            //使用默认的分隔符集合:空格、换行、Tab符合回车作分隔符

            int n=tokens.countTokens(),sum=0,i;

            for(i=0;i<=n-1;i++){

               String temp=tokens.nextToken();//从文本区取下一个数据

               sum+=Integer.parseInt(temp);

            }

            textF.setText(""+sum);

        }

        else if(e.getSource()==b2){

            textA.setText(null);

            textF.setText(null);

        }

    }

}

【例 11-10】小应用程序计算从起始整数到终止整数中是因子倍数的所有数。小程序容器用GridLayout布局将界面划分为3行列,第一行是标签,第二行和第三行是两个Panel。设计两个Panel容器类Panel1,Panel2,并分别用GridLayout布局划分。Panel1为1行6列,Panel2为1行4列。然后将标签和容器类Panel1,Panel2产生的组件加入到窗口的相应位置中。

import java.applet.*;import javax.swing.*;

import java.awt.*;import java.awt.event.*;

class Panel1 extends JPanel{

    JTextField text1,text2,text3;

    Panel1(){//构造方法。当创建Panel对象时,Panel被初始化为有三个标签

        //三个文本框,布局为GridLayout(1,6)

        text1=new JTextField(10);text2=new JTextField(10);

        text3=new JTextField(10);setLayout(new GridLayout(1,6));

        add(new JLabel("起始数",JLabel.RIGHT));add(text1);

        add(new JLabel("终止数",JLabel.RIGHT));add(text2);

        add(new JLabel("因子",JLabel.RIGHT));add(text3);

    }

}

class Panel2 extends JPanel{//扩展Panel类

    JTextArea text;JButton Button;

    Panel2(){//构造方法。当创建Panel对象时,Panel被初始化为有一个标签

        //一个文本框,布局为GridLayout(1,4)

        text=new JTextArea(4,10);text.setLineWrap(true);

        JScrollPane jsp=new JScrollPane(text);

        Button=new JButton("开始计算");

        setLayout(new GridLayout(1,4));

        add(new JLabel("计算结果:",JLabel.RIGHT));

        add(jsp);

        add(new Label());add(Button);

    }

}

public class J510 extends Applet implements ActionListener{

    Panel1 panel1;Panel2 panel2;

    public void init(){

        setLayout(new GridLayout(3,1));

        setSize(400,200);panel1=new Panel1();panel2=new Panel2();

        add(new JLabel("计算从起始数到终止数是因子倍数的数",JLabel.CENTER));

        add(panel1);add(panel2);

        (panel2.Button).addActionListener(this);

    }

    public void actionPerformed(ActionEvent e){

        if(e.getSource()==(panel2.Button)){

            long n1,n2,f,count=0;

            n1=Long.parseLong(panel1.text1.getText());

            n2=Long.parseLong(panel1.text2.getText());

            f=Long.parseLong(panel1.text3.getText());

            for(long i=n1;i<=n2;i++){

                if(i%f==0)

                panel2.text.append(String.valueOf(i)+"");

           }

        }

    }

}

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
Java教程
1、Java 概述
1.1 Java语言概述
1.2 Java虚拟机以及跨平台原理
1.3 Java的主要就业方向
1.4 Java的不同版本
1.5 Java开发环境搭建
1.6 第一个Java程序示例
1.7 Java类和对象的概念
1.8 Java类库及其组织结构
1.9 Java import
2、Java 语法基础
2.1 Java数据类型以及变量的定义
2.2 Java数据类型转换
2.3 Java运算符
2.4 Java流程控制
2.5 Java数组的定义和使用
2.6 Java字符串(String)
2.7 Java StringBuffer与StringBuider
2.8 强调一下编程风格
3、Java 类与对象
3.1 Java类的定义及其实例化
3.2 Java访问修饰符
3.3 Java变量的作用域
3.4 Java this关键字详解
3.5 Java方法重载
3.6 Java类的基本运行顺序
3.7 Java包装类、拆箱和装箱详解
3.8 再谈Java包
3.9 源文件的声明规则
4、Java 继承和多态
4.1 继承的概念与实现
4.2 Java super关键字
4.3 继承中的方法的覆盖和重载
4.4 多态和动态绑定
4.5 instanceof 运算符
4.6 多态对象的类型转换
4.7 Java static关键字
4.8 Java final关键字
4.9 Java Object类
5、面向对象高级特性
5.1 Java内部类及其实例化
5.2 内部类的分类
5.3 抽象类的概念和使用
5.4 接口的概念和使用
5.5 接口和抽象类的区别
5.6 Java 泛型
5.7 泛型通配符和类型参数的范围
6、异常处理
6.1 异常处理基础
6.2 异常类型Java语言中常见的异常类型有哪些
6.3 未被捕获的异常
6.4 try和catch的使用
6.5 多重catch语句的使用
6.6 try语句的嵌套
6.7 throw:异常的抛出
6.8 throws子句
6.9 finally块
6.10 Java的内置异常
6.11 创建自己的异常子类
6.12 断言
7、线程编程
7.1 线程的概念
7.2 Java线程模型
7.3 主线程
7.4 创建线程
7.5 创建多线程
7.6 isAlive()和join()的使用
7.7 线程优先级
7.8 线程同步
7.9 线程间通信
7.10 线程死锁
7.11 线程的挂起、恢复和终止
8、输入输出(IO)操作
8.1 输入输出基本概念
8.2 面向字符的输入流
8.3 面向字符的输出流
8.4 面向字节的输入输出流
8.5 面向字节流的应用
8.6 文件与目录管理
8.7 文件的随机读写
8.8 文件的压缩处理
9、常用类库、向量与哈希
9.1 Java基础类库
9.2 Object类
9.3 Java语言包(java.lang)简介
9.4 日期和时间类
9.5 向量及其应用
9.6 哈希表及其应用
10、图形界面(GUI)设计
10.1 图形界面设计基础
10.2 框架窗口
10.3 标签、按钮和按钮事件
10.4 面板
10.5 布局设计
10.6 文本框和文本区
10.7 文本框和文本区的输入输出
10.8 选择框和单选按钮
10.9 列表和组合框
10.10 菜单
10.11 对话框
10.12 滚动条
10.13 鼠标事件
10.14 键盘事件
11、图形、图像与多媒体
11.1 绘图基础
11.2 设置字型和颜色
11.3 绘图模式
11.4 Graphics类的绘图方法
11.5 Graphics2D类的绘图方法
11.6 图像处理基础
11.7 图像缓冲技术
11.8 多媒体基础
12、网络与数据库编程
12.1 IP地址和InetAddress类
12.2 统一资源定位符
12.3 套接字(Socket)
12.4 数据库连接
12.5 几个重要的类和接口
12.6 数据库查询
12.7 数据库更新
12.8 插入记录
12.9 修改记录
12.10 删除记录