JavaSwing_2.6: JTextField(文本框)


參考資料:xietansheng-JavaSwing圖形界面開發

1. 概述

官方JavaDocsApi: javax.swing.JTextField

JTextField,文本框。JTextField 用來編輯單行的文本。

JTextField 常用構造方法:

/*
 * 參數說明:
 *     text: 默認顯示的文本
 *     columns: 用來計算首選寬度的列數;如果列設置為 0,則首選寬度將是組件實現的自然結果
 */
JTextField()

JTextField(String text)

JTextField(int columns)

JTextField(String text, int columns)

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)

JTextField 復制粘貼相關方法:

// 設置光標開始位置,selectionStart >= 0
void setSelectionStart(int selectionStart)

// 設置光標結束位置,selectionEnd >= selectionStart
void setSelectionEnd(int selectionEnd)

// 復制選中部分文本
void copy()

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

// 粘貼文本到文本框
void paste()

JTextField 常用監聽器:

// 添加焦點事件監聽器
void addFocusListener(FocusListener listener)

// 添加文本框內的 文本改變 監聽器
textField.getDocument().addDocumentListener(DocumentListener listener)

// 添加按鍵監聽器
void addKeyListener(KeyListener listener)

2. 實例代碼

package com.he.swing2;

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

/**
 * @description: JavaSwing_2_6_JTextField 文本框
 * @author: ShouSi
 * @createDate: 2021/11/10
 */
public class JavaSwing_2_6_JTextField {

    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);
    }
}

結構展示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM