吴志勇的博客 吴志勇的博客
  • h5

    • HTML5&CSS3
  • scss

    • css预处理语言
  • JavaScript

    • JavaScript教程
    • Ajax
    • ES6教程
    • NodeJS
    • Typescript
  • 框架

    • Jquery
    • VUE
    • React
  • Swing专题
  • java基础
  • javaweb
  • 框架
  • 数据库
  • netty
  • 设计模式
  • 微服务及架构
  • 云原生
  • maven
  • 单元测试
工具
我的
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

吴志勇

......
  • h5

    • HTML5&CSS3
  • scss

    • css预处理语言
  • JavaScript

    • JavaScript教程
    • Ajax
    • ES6教程
    • NodeJS
    • Typescript
  • 框架

    • Jquery
    • VUE
    • React
  • Swing专题
  • java基础
  • javaweb
  • 框架
  • 数据库
  • netty
  • 设计模式
  • 微服务及架构
  • 云原生
  • maven
  • 单元测试
工具
我的
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Swing专题

    • swing图形化界面简介

    • JavaSwing布局管理器

    • JavaSwing基本组件

      • JLabel(标签)
      • JButton(按钮)
      • JRadioButton(单选按钮)
      • JCheckBox(复选框)
      • JToggleButton(开关按钮)
      • JTextField(文本框)
      • JPasswordField(密码框)
      • JTextArea(文本区域)
      • JComboBox(下拉列表框)
      • JList(列表框)
      • JProgressBar(进度条)
      • JSlider(滑块)
    • JavaSwing面板组件

    • JavaSwing其他组件

    • JavaSwing相关特性

    • 扩展:JavaAWTSwing其他相关

  • java基础

  • javaweb

  • 框架

  • Maven
  • 单元测试
  • 动态代理
  • 数据库

  • netty

  • 设计模式

  • 微服务及架构

  • 云原生

  • Velocity模板引擎
  • 后端
  • Swing专题
  • JavaSwing基本组件
wuzhiyong
2024-09-18

JTextField(文本框)

# 1. 概述

官方JavaDocsApi: javax.swing.JTextField (opens new window)

JTextField,文本框。JTextField 用来编辑单行的文本。

JTextField 常用构造方法:

/*
 * 参数说明:
 *     text: 默认显示的文本
 *     columns: 用来计算首选宽度的列数;如果列设置为 0,则首选宽度将是组件实现的自然结果
 */
JTextField()

JTextField(String text)

JTextField(int columns)

JTextField(String text, int columns)
1
2
3
4
5
6
7
8
9
10
11
12

JTextField 常用方法:

// 获取文本框中的文本
String getText()

// 设置文本框的 文本、字体 和 字体颜色
void setText(String text)
void setFont(Font font)
void setForeground(Color fg)

// 设置颜色,分别为: 光标颜色、呈现选中部分的背景颜色、选中部分文本的颜色、不可用时文本的颜色
void setCaretColor(Color c)
void setSelectionColor(Color c)
void setSelectedTextColor(Color c)
void setDisabledTextColor(Color c)

// 设置文本内容的水平对齐方式
void setHorizontalAlignment(int alignment)

// 设置文本框是否可编辑
void setEditable(boolean b)

/* 下面方法定义在 java.awt.Component 基类中 */

// 判断组件当前是否拥有焦点
boolean isFocusOwner()

// 设置组件是否可用
void setEnabled(boolean b)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

JTextField 复制粘贴相关方法:

// 设置光标开始位置,selectionStart >= 0
void setSelectionStart(int selectionStart)

// 设置光标结束位置,selectionEnd >= selectionStart
void setSelectionEnd(int selectionEnd)

// 复制选中部分文本
void copy()

// 剪切选中部分文本
void cut()

// 粘贴文本到文本框
void paste()
1
2
3
4
5
6
7
8
9
10
11
12
13
14

JTextField 常用监听器:

// 添加焦点事件监听器
void addFocusListener(FocusListener listener)

// 添加文本框内的 文本改变 监听器
textField.getDocument().addDocumentListener(DocumentListener listener)

// 添加按键监听器
void addKeyListener(KeyListener listener)
1
2
3
4
5
6
7
8

# 2. 实例代码

package com.xiets.swing;

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

public class Main {

    public static void main(String[] args) throws AWTException {
        JFrame jf = new JFrame("测试窗口");
        jf.setSize(300, 300);
        jf.setLocationRelativeTo(null);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        JPanel panel = new JPanel();

        // 创建文本框,指定可见列数为8列
        final JTextField textField = new JTextField(8);
        textField.setFont(new Font(null, Font.PLAIN, 20));
        panel.add(textField);

        // 创建一个按钮,点击后获取文本框中的文本
        JButton btn = new JButton("提交");
        btn.setFont(new Font(null, Font.PLAIN, 20));
        btn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("提交: " + textField.getText());
            }
        });
        panel.add(btn);

        jf.setContentPane(panel);
        jf.setVisible(true);
    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

结构展示:

#swing
上次更新: 2024-09-19 12:17:39

← JToggleButton(开关按钮) JPasswordField(密码框)→

Copyright © 2020-2025 wuzhiyong
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式