精华内容
下载资源
问答
  • 有三个文本框,对第一个文本框在按钮上输入数字,按回车光标移到第二个文本框上面,然后按按钮在第三个文本框上面显示相加的值, 大概思路是这样,但是我在写的时候,输入只能用给第一个文本框输入,而每次想对第二...
  • JAVA文本框监听

    2021-03-10 06:45:32
    展开全部importjavax.swing.*;importjavax.swing.event.*;importjavax.swing.text.*;importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjava.util.regex.*;finalclassTextValidateDemoextends...

    展开全部

    import javax.swing.*;

    import javax.swing.event.*;

    import javax.swing.text.*;

    import java.awt.*;

    import java.awt.event.*;

    import java.util.*;

    import java.util.regex.*;

    final class TextValidateDemo extends JFrame {

    final static private Dimension SIZE = new Dimension(800, 600);

    public String getTitle() {return "TextValidateDemo";}

    public Dimension getPreferredSize() {return SIZE;}

    public Dimension getMinimumSize() {return SIZE;}

    public Dimension getMaximumSize() {return SIZE;}

    public Dimension getSize() {return SIZE;}

    private JTextField textField;

    private final static Pattern pattern = Pattern.compile("([0-9])*");

    private static final Observable validateObservable = new Observable(){

    public void notifyObservers() {

    setChanged();

    super.notifyObservers();

    }

    public void notifyObservers(Object arg) {

    setChanged();

    super.notifyObservers(arg);

    }

    };

    TextValidateDemo() throws HeadlessException {

    init();

    attachListeners();

    doLay();

    setVisible(true);

    }

    private void init() {

    textField=new JTextField(50);

    validateObservable.addObserver( new TextValidateObserer(textField) );

    }

    private void attachListeners() {

    addWindowListener(new WindowAdapter() {

    public void windowClosing(WindowEvent e) {

    System.exit(1);

    }

    });

    textField.getDocument().addDocumentListener(new DocumentListener() {

    public void insertUpdate(DocumentEvent e) {

    validateObservable.notifyObservers(null);

    }

    public void removeUpdate(DocumentEvent e) {

    validateObservable.notifyObservers(null);

    }

    public void changedUpdate(DocumentEvent e) {

    validateObservable.notifyObservers(null);

    }

    });

    }

    private void doLay() {

    Container container = getContentPane();

    container.add(textField, BorderLayout.NORTH);

    pack();

    }

    private static boolean validateInput(String s){

    return pattern.matcher(s).matches();

    }

    private class TextValidateObserer implements Observer{

    private JTextComponent t;

    public TextValidateObserer(JTextComponent t) {

    this.t=t;

    }

    public void update(Observable o, Object arg) {

    if (t!e68a8462616964757a686964616f31333337383934=null && arg == null) {

    t.setForeground(validateInput(t.getText()) ?

    Color.BLACK : Color.RED

    );

    }

    }

    }

    public static void main(String... args) {

    System.setProperty("swing.defaultlaf", "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

    SwingUtilities.invokeLater(TextValidateDemo::new);

    }

    }

    展开全文
  • JAVA GUI 事件监听事件 详解 和 案例.

    千次阅读 2021-03-22 14:41:47
    GUI(图形用户界面)Graphical User Interface(图形用户接口)用图形的 方式, 来显示 计算机操作的 界面, ...需要记忆一些常用的命令, 操作不直观.Java 为 GUI 提供的 对象 都存在 java.awt 和 javax.swing 两个包中...

    GUI(图形用户界面)

    Graphical User Interface(图形用户接口)

    用图形的 方式, 来显示 计算机操作的 界面, 这样更方便 更直观.

    CLI

    Command Line User Interface(命令行用户接口)

    就是常见的 Dos 命令行操作.

    需要记忆一些常用的命令, 操作不直观.

    Java 为 GUI 提供的 对象 都存在 java.awt 和 javax.swing 两个包中.

    Java 图形化界面的 产品: eclipse 这个产品使用 纯Java 语言 编写的. 所以 这个 软件不用安装, 但是至少得有 jre(Java 语言程序的 运行环境).

    1. AWT 和 Swing

    *** java.awt: Abstarct Window ToolKit(抽象窗口工具包), 需要调用本地系统方法 实现功能. 属于 重量级(和系统耦合(嵌入) 紧密) 控件.

    *** javax.swing: 在 AWT 的基础上, 建立的一套图形界面 系统, 其中提供了 更多的组件, 而且 完全由 Java 实现. 增强了 移植性, 属 轻量级(和系统耦合(嵌入) 较浅) 控件.

    SWT外观包 网上可以下载, 开源免费, 值得一试.

    component : 组件 container: 容器checkbox: 复选框.

    TextField: 文本框: 单行文本框. TextArea: 文本区域: 多行文本框.

    Panel: 面板, 一般 面板 不能独立存在, 都是 基于 Window(窗体) 的.

    Frame: 小窗口.

    Dialog: (弹出一个)对话框. FileDialog: 文件对话框.

    *** Container: 为容器, 是一个特殊的组件, 该组件中 可以通过 add 方法 添加 其他 组件进来.

    *** 一般先创建 一个 整体界面(new Frame) , 然后再 添加一些 子组件.

    2. 事件 监听机制.

    事件源(组件) (承载事件的源头)

    事件(Event) (发生的事)

    监听器(Listener) (监控 某些动作)

    事件处理(引发事件后 处理方式)

    * 需求: 想要 点击按钮 有效果, 比如 打印一句话.

    *

    * 思路:

    *

    * 1. 确定 事件源. 按钮.

    *

    * 2. 确定 监听器. 按钮添加监听器, 按钮对象 最清楚, 到 按钮对象中 查找.

    *

    * 3. 定义 处理方式.

    *

    * 定义的 规范: XXXLinstener: XXX监听器. --- 对应的 XXXEvent 事件.

    // *** 补充: public abstarct class WindoAdapter{ } 就是 一个 典型的 没有抽象方法的 抽象类.

    public abstract class WindoAdapter{ }

    接收 窗口事件的 抽象适配器类。 此类中的方法为空。 此类 存在的目的 是 方便 创建 监听器对象。

    这是一个 抽象类, 但是 其中的 方法都没被 抽象。(没有抽象方法的 抽象类。)

    *** Alt + Shift + s 调用 源码 命令。

    需求: 想要实现 点击 窗体的 X 就可以实现 窗体的 关闭。

    *

    * 1. 事件源: 窗体。

    *

    * 2. 确定 监听器。 通过 窗口对象 去查。

    *

    * 3. 事件处理。

    *

    * 到底 哪些 监听接口 , 有 适配类?

    *

    * 只要 监听 接口中的 方法 不大于 2 个(在 两个以内) 都没有 适配器类。 适配器的 出现 只为 方便 创建 监听器 对象。

    *

    *

    * 但是 一般 监听接口 都有 适配器。

    // *** Frame 本身是一个容器, 但是它 里面 其实是封装了 一个 集合; 这些组件 都是一个个 对象, 然后 就添加到了 集合中去。

    f.addWindowListener(new WindowAdapter(){// *** 这里 是个 大括号, 说明 里面是个 匿名的 内部类。 实现方法。

    System.exit(0); // *** 退出 java 虚拟机。

    需求: 想要用户点击 有效果, 比如 打印一句话。

    *

    * 思路:

    * 1. 确定事件源 (按钮)

    *

    * 2. 确定 监听器。 (按钮添加监听器, 按钮对象最清楚, 到按钮对象中查找。)

    *

    * 3. 定义处理方式。

    *

    * 定义的 规范:XXXListener 监听器 XXX监听器 --对应的 XXXEvent 事件。

    *

    * */

    /*

    // *** 1. 在 按钮上 添加所需的 监听器

    but.addActionListener(new ActionListener(){ // *** 使用 匿名内部类 直接 实现 接口中的 方法。

    import java.awt.Button;

    import java.awt.FlowLayout;

    import java.awt.Frame;

    import java.awt.TextField;

    import java.awt.event.KeyAdapter;

    import java.awt.event.KeyEvent;

    import java.awt.event.MouseAdapter;

    import java.awt.event.MouseEvent;

    import java.awt.event.WindowAdapter;

    import java.awt.event.WindowEvent;

    public class KeyLinstener {

    public static void main(String[] args) {

    Frame f = new Frame("My Frame");

    f.setSize(450,450);

    f.setLayout(new FlowLayout());

    f.setLocation(500, 200);

    f.setVisible(true);

    // *** 给窗口 添加 组件.

    Button but = new Button("My Button");

    // *** 加入一个 文本框 组件.

    TextField tf = new TextField(40); // *** 数值, 有多长.

    f.add(tf);

    f.add(but);

    /*

    *

    * 需求: 对鼠标 双击 进行 处理.

    *

    *

    *

    * */

    but.addMouseListener(new MouseAdapter() {

    @Override

    public void mouseClicked(MouseEvent e) {

    if(e.getClickCount() == 2) {

    System.out.println("Mouse Double Click");

    }

    }

    });

    /*

    *

    * 需求: 文本框中 只能 输入 数字.

    *

    *

    * 事件源: 文本框.

    *

    * 文本框上 注册键盘 监听.

    *

    * 事件处理.

    *

    *

    * static getKeyText(); 根据 键盘的 码, 返回 对应的 文本.

    *

    * */

    tf.addKeyListener(new KeyAdapter() {

    @Override

    public void keyPressed(KeyEvent e) {

    // *** 1. 如何 获取 录入的 内容, 通过 键盘事件 对象 获取.

    // *** ctrl shift alt 之类 的 都是 ? 号. 因为 这里 的 方法 只能 返回一个 字符.

    /* char key = e.getKeyChar();

    int code = e.getKeyCode(); // *** 关联的 键盘码.

    // System.out.println(key + "......." + code);

    System.out.println(code + "......" + KeyEvent.getKeyText(code));*/

    /*

    int code = e.getKeyCode();

    if (!(code >= KeyEvent.VK_0 && code <= KeyEvent.VK_9)){

    System.out.println("必须是 0 ~ 9 数字");

    e.consume(); // *** 直接 取消 默认 处理方式.

    } */

    /* ** 按 回车键 进入.

    if(e.getKeyCode() == KeyEvent.VK_ENTER ) {

    System.out.println("Enter run");

    }

    */

    /* ** 调用 父类 方法. e.isControlDown() 按住 ctrl + enter 进入.*/

    if(e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER) {

    System.out.println("ctrl + Enter run");

    }

    }

    });

    // *** 使 窗口上的 X 点击 可以进行关闭.

    f.addWindowListener(new WindowAdapter() {

    @Override

    public void windowClosing(WindowEvent e) {

    System.exit(0);

    }

    });

    )

    }

    展开全文
  • Java文本框监听回车(KeyEvent事件

    千次阅读 多人点赞 2019-07-19 15:09:32
    JTextArea textArea = new JTextArea(); textArea.addKeyListener(new KeyAdapter() { @Override public void keyTyped(KeyEvent e) { if((char)e.getKeyChar()==KeyEvent.VK_ENTER) { System.out.println("E...
    JTextArea textArea = new JTextArea();
    textArea.addKeyListener(new KeyAdapter() {
    	@Override
    	public void keyTyped(KeyEvent e) {
    		if((char)e.getKeyChar()==KeyEvent.VK_ENTER) {
    			System.out.println("ENTER");
    		}
    	}
    });
    
    展开全文
  • 而在java中接口作用类似,定义一个具有特定特点的接口,在合适的地方引用它,执行所对应的功能,这样能够实现代码的分离。下面我们来看一下接口的定义:关键字:interface格式:public interface 接口名{ ...

    一:接口

    接口在我们生活中无处不在,通过一个usb接口,我们可以通过u盘传输数据,这个接口是被定义过的,只有指定的类型能够使用这个接口,且通过这个接口我们传输的数据不会被破坏。

    而在java中接口作用类似,定义一个具有特定特点的接口,在合适的地方引用它,执行所对应的功能,这样能够实现代码的分离。

    下面我们来看一下接口的定义:

    关键字:interface

    格式:public interface 接口名{ }

    接口的属性:

    [public static final]属性类型 属性名=属性值;

    static:静态的,修饰的内容可以通过类名或接口名直接访问。

    final:不可改变的,修饰属性,则属性必须初始化。

    [ ]里的内容可以省略

    接口的方法:

    [public abstract]方法返回值类型 方法名(参数类型 参数名)

    abstract:抽象的,修饰方法,则方法不能有方法体。

    [ ]中内容可以省略

    接口的使用:

    接口不能创建对象,需要接口类型的对象则需要创建一个类,从而实现接口

    关键字:implements

    格式:public class 类名 implements 接口名{ }

    **注意:在类中实现接口时,必须实现接口中所有的方法**

    总结来说,接口相当于制定了一种规则,只有符合这种规则了才能进入相应的接口。

    二:事件监听机制

    想象一下,比如在生活中,有一个摄像头在监视着小明,监督他好好学习,如若发现他在做别的事情则会发出警告提示让他继续学习,而在java中原理也是一样。

    给事件源组件添加事件监听器,当事件源组件上发生相应类型的事件时,则自动的调用监听器中的内容。

    在电脑上常见的事件类型有三种

    鼠标事件:用鼠标操作组件(鼠标的移动,点击,松开)

    键盘事件:用键盘操作组件(按动键盘的按键)

    动作事件:包含鼠标点击按钮,键盘确认等。

    事件源组件:事件发生所在的组件,比如在一个创建好的画图板上。

    事件监听器:java中为每一种类型的事件都提供了一个对应类型的事件监听器。

    鼠标事件监听器:MouseListener

    键盘事件监听器:KeyListener

    动作事件监听器:ActionListener

    事件监听器的实现:

    第一步:确定事件源组件

    例如一个按钮

    第二步:确定事件类型

    点击按钮则为动作事件

    第三步:

    创建一个监听器类,实现对应类型的监听器接口

    第四步,在源程序创建监听器对象,给事件源组件添加事件监听器。

    下面我们看一个登陆界面的实例

    这一段是建立一个登陆界面

    bf86fe055f25378588f41f36daf21163.png

    public class UI {

    /**

    *

    */

    public void showIU(){

    //建立新界面

    JFrame frame=new JFrame();

    frame.setSize(600, 900);

    //用户点击关闭窗口时关闭界面

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //流式布局

    FlowLayout layout=new FlowLayout();

    frame.setLayout(layout);

    //插入账号文本框

    JTextField register=new JTextField(30);

    frame.add(register);

    //标签1

    JLabel label1=new JLabel("注册账号");

    frame.add(label1);

    //密码

    JPasswordField word=new JPasswordField(30);

    frame.add(word);

    //标签2

    JLabel label2= new JLabel("找回密码");

    frame.add(label2);

    JCheckBox checkbox=new JCheckBox("记住密码 ");

    frame.add(checkbox);

    //设置复选框大小

    Dimension check =new Dimension(200,35);

    checkbox.setPreferredSize(check);

    //加入接口类

    lisener lisen=new lisener();

    //给按钮添加监听器

    butt.addActionListener(lisen);

    //让监听器的文本框和处理的文本框对应

    lisen.nameinput=register;

    lisen.passinput=word;

    //让监听器的框与此相同

    lisen.jiemian=frame;

    word.addActionListener(lisen);

    /*

    //加入接口

    Listener2 lisen1=new Listener2();

    //添加监听器

    word.addKeyListener(lisen1);

    //对应文本框和密码框

    lisen1.name1=register;

    lisen1.pass1=word;

    lisen1.frame=frame;

    */

    //设置界面可见

    frame.setVisible(true);

    }

    public static void main(String[] args){

    UI ui=new UI();

    ui.showIU();

    }

    }

    这是我们建立好的登陆界面

    我们从中建立了两个接口,两个动作监听器分别监听按钮是否点击和是否按键盘上的按键,从此出现相应结果。

    import java.awt.event.ActionListener;

    import java.awt.event.ActionEvent;

    import javax.swing.JDialog;

    import javax.swing.JTextField;

    import javax.swing.JOptionPane;

    import javax.swing.JFrame;

    public class lisener implements ActionListener{

    JTextField nameinput;

    JTextField passinput;

    JFrame jiemian;

    public void actionPerformed(ActionEvent e){

    System.out.println("鼠标点击了");

    String name=nameinput.getText();

    String password=passinput.getText();

    if(name.equals("majunlong")&&password.equals("12345678")){

    System.out.println("登陆成功");

    jiemian.dispose();

    }

    else{

    System.out.println("登陆失败");

    JOptionPane pane=new JOptionPane();

    JOptionPane.showMessageDialog(null, "登陆失败", "警告", JOptionPane.ERROR_MESSAGE);

    }

    }

    }

    这是一个鼠标监听器,当按钮被点击时发出提示框登陆成功或失败。

    import java.awt.event.KeyEvent;

    import java.awt.event.KeyListener;

    import javax.swing.JTextField;

    import javax.swing.JFrame;

    import javax.swing.JOptionPane;

    public class Listener2 implements KeyListener{

    JTextField name1;

    JFrame frame;

    JTextField pass1;

    public void keyTyped(KeyEvent e) {

    // TODO Auto-generated method stub

    }

    public void keyPressed(KeyEvent e) {

    // TODO Auto-generated method stub

    }

    public void keyReleased(KeyEvent e) {

    // TODO Auto-generated method stub

    System.out.println("鼠标点击了");

    String name=name1.getText();

    String password=pass1.getText();

    if(name.equals("majunlong")&&password.equals("12345678")){

    System.out.println("登陆成功");

    frame.dispose();

    }

    else{

    System.out.println("登陆失败");

    JOptionPane pane=new JOptionPane();

    JOptionPane.showMessageDialog(null, "登陆失败", "警告", JOptionPane.ERROR_MESSAGE);

    }

    }

    }

    键盘监听器,在输入密码之后按下回车,获得相应提示。

    展开全文
  • Java 输入框事件监听教程.

    千次阅读 2020-04-18 17:34:44
    1.创建一个新的Frame,这里使用新建类 My输入框事件监听Frame 实现,(记得继承Frame) 如何新建一个Frame 类教程点击跳转 2.新建一个 TextField 文本域并添加至 1步骤新建的窗口 TextField textField = new ...
  • 是笔者学习java AWT事件监听器、接口方法的总结,希望对初学java者有所帮助。
  • 我想要事件的功能是这样的:第一个文本框的值改动时,第二个文本框同时做出变动。在下新手,还望各位赐教(麻烦详细点,谢谢)
  • GUI编程核心技术AWT——文本框监听事件 监听文本框的输入的信息,按下enter就会触发输入框事件,得到输入框的文本信息 package com.wei.lesson02; import java.awt.*; import java.awt.event.*; public class Test...
  • 作为一个跨平台的编程解决方案,Java显然不能像Delphi那样,在用户...比如对于文本框的控制,当我们 要在程序中感知用户是否修改了文本框中的内容时,Delphi提供了一个直接的事件调用OnValueChanged(),可以在文本...
  • 文本框监听

    千次阅读 2019-01-15 15:43:47
    文本框加入监听事件监听文本框中的内容是否发生了变化。 JTextField中没有设置TextListener,而是将对文本的监视任务放入了另外一个接口Document中。因此首先要为JTextField对象申请一个Document接口对象,...
  • 展开全部让JTextField文本框响应焦62616964757a686964616fe58685e5aeb931333363386662点事件 即可.核心代码JTextFieldjtf=newJTextField(10);jtf.addFocusListener(newFocusListener(){publicvoidfocusLost...
  • 什么是事件监听? 例如,点击按钮,弹出一个文本框,点击一个文本,文本被删除; 按钮、文本等组件就是事件事件就是从开始触发事件源到出现效果的一个过程 以下是一个案例,点击按钮,记录点击的次数和获取...
  • 三个文本框 哪个文本框获得了焦点就将背景设置为红色 文本设置为文本框获得了焦点 */ import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.FocusEvent; import ...
  • 今天就来为大家介绍一些java基础知识,主要是关于java文本框的内容,JTextField类的构造方法,一起来看看吧。首先来看一下java中文本框(JTextField)。它是界面中用于输入和输出一行文本的框。JTextField类用来建立...
  • 事件表示程序和用户之间的交互,例如在文本框中输入,在列表框或组合框中选择,选中复选框和单选框,单击按钮等。事件处理表示程序对事件的响应,对用户的交互或者说对事件的处理是事件处理程序完成的。当事件发生时...
  • java事件监听

    千次阅读 2019-12-20 17:30:12
    动作事件(ActionEvent)监听器是Swing中比较常用的事件监听器,很组件的动作都会使用它监听,如按钮单击,下表描述了动作事件监听器的接口与事件源。 事件名称 事件监听接口 添加或删除相应类型监听器...
  • java-swing-事件监听-(动作事件监听器)

    千次阅读 多人点赞 2019-06-22 14:54:08
    所以要给每个控件添加一个事件处理机制,当我们(用户)对 Swing组件 进行某些操作时,对应 Swing组件 会自动产生各种事件来响应用户行为。如当用户点击按钮时,Swing组件会产生一个 ActionEvent。 Swing组件会产生...
  • GUI-文本框输入监听事件 package com.zuoyan.lesson; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * 文本框事件 */ public class FirstText { public ...
  • 事件表示程序和用户之间的交互,例如在文本框中输入,在列表框或组合框中选择,选中复选框和单选框,单击按钮等。事件处理表示程序对事件的响应,对用户的交互或者说对事件的处理是事件处理程序完成的。 当事件发生...
  • Java文本框和文本区

    千次阅读 2018-08-06 13:30:48
    在图形界面中,文本框和文本区是用于信息输入输出的组件。 文本框 文本框(JTextField)是界面中用于输入和输出一行文本的框。JTextField类用来建立... 对需要控制的文本框对象注册监视器,监听文本框的输入结束(...
  • Java中如何监听鼠标事件

    万次阅读 2018-04-04 15:44:50
    当点击鼠标按钮时,有三个监听器方法可以调用:①鼠标按下时调用mousePressed;②鼠标被释放时调用mouseReleased;③关注鼠标的最终点击事件时调用mouseClicked。鼠标点击可以由mouseClicked过程报告,该方法是...
  • SWING 事件监听

    2021-03-06 00:34:06
    Java提供了多种事件监听类。不过我们只选择几种比较常用的来进行讨论。每个时间监听的方法都有一个独立的参数,这个参数继承至EventObject 类,比如鼠标事件监听是MouseEvent的实例、MouseEvents则是从EventObject...
  • JAVA文本框组件

    千次阅读 2019-09-27 20:40:23
    文本框(JTextField)用来...在本实例的窗体中主要设置一个文本框和一个按钮,然后为按钮设置监听事件。 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; impor...
  • Swing输入框监听

    2012-08-24 19:56:27
    //建立监听 FrameListener fl = new FrameListener(jb,tf,pw); //tf.addActionListener(fl); tf.addKeyListener(fl); //窗口可见 this.setVisible(true); //关闭窗口时退出程序 this....
  • java 监听文本框内容改变

    万次阅读 2012-09-11 15:08:28
    比如对于文本框的控制,当我们 要在程序中感知用户是否修改了文本框中的内容时,Delphi提供了一个直接的事件调用OnValueChanged(),可以在文本框内容得到实际的改 动时被激活。而要在Java中实现这一功能就似乎麻烦了...
  • javaSE Swing 按钮文本框触发事件

    千次阅读 2017-12-25 19:52:09
    ) 按钮 button 触发事件 核心代码 button.addActionListener(new ActionListener(){}) 如果想用打开别的类 实例化那个类 并且 setVisible(true) JLabel lblNewLabel = new JLabel("New label"); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,626
精华内容 7,050
关键字:

java文本框监听事件

java 订阅