그래픽 인터페이스에서 텍스트 상자와 텍스트 영역은 정보 입력 및 출력에 사용되는 구성 요소입니다.
텍스트 상자
텍스트 상자(JTextField)는 텍스트 한 줄을 입력하고 출력하는 데 사용되는 인터페이스의 상자입니다. JTextField 클래스는 텍스트 상자를 만드는 데 사용됩니다. 텍스트 상자와 관련된 인터페이스는 ActionListener입니다.
텍스트박스 핸들러의 기본 내용은 다음과 같습니다.
텍스트박스 이름을 선언합니다.
텍스트 상자 개체를 만듭니다.
컨테이너에 텍스트 상자 개체를 추가합니다.
제어하려는 텍스트 상자 개체에 대한 모니터를 등록하고, 텍스트 상자의 입력 종료 이벤트(즉, Enter 키 입력) 이벤트를 수신합니다.
감지된 이벤트에 대한 판단 및 처리를 완료하기 위해 텍스트 상자 이벤트를 처리하는 방법입니다.
JTextField 클래스의 주요 구성 방법:
JTextField(), 텍스트 상자의 문자 길이는 1입니다.
JTextField(int columns), 텍스트 상자의 초기 값은 빈 문자열이고, 텍스트 상자의 문자 길이는 열로 설정됩니다.
JTextField(String text), 텍스트 상자의 초기값은 텍스트 문자열의 문자입니다.
JTextField(String text,int columns); 텍스트 상자의 초기 값은 텍스트이고 텍스트 상자의 문자 길이는 열입니다.
JTextField 클래스의 다른 메소드:
setFont(Font f), 글꼴 설정
setText(String text), 텍스트 상자의 텍스트 설정
getText()는 텍스트 상자의 텍스트를 가져옵니다.
setEditable(boolean)은 텍스트 상자의 편집 가능성을 지정합니다. 기본값은 true이며 편집 가능합니다.
setHorizontalAlignment(int alignment)는 텍스트 정렬을 설정합니다. 정렬 방법은 JTextField.LEFT, JTextField.CENTER, JTextField.RIGHT입니다.
requestFocus(), 포커스를 설정합니다.
addActionListener(ActionListener), 텍스트 상자에 대한 액션 모니터를 설정하고 텍스트 상자에서 발생하는 입력 종료 액션 이벤트를 수신하도록 ActionListener 개체를 지정합니다.
removeActionListener(ActionListener)는 텍스트 상자 모니터를 제거합니다.
getColumns()는 텍스트 상자의 열 수를 반환합니다.
getMinimumSize()는 텍스트 상자에 필요한 최소 크기를 반환합니다.
getMinimumSize(int)는 지정된 문자 수를 포함하는 텍스트 상자에 필요한 최소 크기를 반환합니다.
getPreferredSize()는 원하는 텍스트 상자 크기를 반환합니다.
getPreferredSize(int)는 문자 수가 지정된 경우 텍스트 상자의 원하는 크기를 반환합니다.
【예시】애플릿에는 두 개의 텍스트 상자가 있습니다. 하나의 텍스트 상자는 정수를 입력하는 데 사용되며 다른 텍스트 상자에는 정수의 제곱 값이 표시됩니다. 프로그램은 문자열을 기본 유형 메서드 Long.parseLong(text1.getText())에 사용하여 텍스트 상자 text1의 문자열을 읽고 정수로 변환합니다. 프로그램은 Sqr 클래스의 인스턴스를 모니터로 사용하지만, 모니터가 메인 클래스의 변수에 접근할 수 있도록 하기 위해 메인 클래스의 변수를 클래스 변수로 선언하고 접근 권한이 설정되어 있지 않습니다(소스 보기) 파일).
비밀번호 필드(JPasswordField)는 기본적으로 JTextField와 유사한 한 줄 입력 구성 요소입니다. 비밀번호 상자에는 추가 차폐 기능이 있습니다. 즉, 입력 시 지정된 문자(보통 * 문자)로 출력됩니다. 앞서 소개한 텍스트 상자 메서드 외에도 암호 상자에서 일반적으로 사용되는 몇 가지 메서드가 있습니다.
getEchoChar()는 암호의 에코 문자를 반환합니다.
setEchoChar(char)는 비밀번호 상자의 에코 문자를 설정합니다.
텍스트 영역
텍스트 영역(JTextArea)은 텍스트가 배치되는 형태의 영역입니다. 텍스트 영역과 텍스트 상자의 주요 차이점은 텍스트 영역에 여러 줄의 텍스트를 저장할 수 있다는 것입니다. javax.swing 패키지의 JTextArea 클래스는 텍스트 영역을 생성하는 데 사용됩니다. JTextArea 구성요소에 이벤트가 없습니다.
텍스트 영역 핸들러의 기본 내용은 다음과 같습니다.
텍스트 영역 이름을 선언합니다.
텍스트 영역 개체를 만듭니다.
컨테이너에 텍스트 영역 개체를 추가합니다.
JTextArea 클래스의 주요 구성 방법:
JTextArea()는 기본 열과 행 수를 사용하여 텍스트 영역 객체를 생성합니다.
JTextArea(String s)는 s를 초기값으로 사용하여 텍스트 영역 개체를 생성합니다.
JTextArea(Strings, int x, int y)는 s를 초기값으로, 행 수를 x, 열 수를 y로 사용하여 텍스트 영역 객체를 생성합니다.
JTextArea(int x, int y)는 행 개수가 x이고 열 개수가 y인 텍스트 영역 개체를 생성합니다.
JTextArea 클래스의 다른 일반적인 메서드:
setText(String s)는 표시된 텍스트를 설정하고 원본 텍스트를 지웁니다.
getText(), 텍스트 영역의 텍스트를 가져옵니다.
insert(String s, int x)는 지정된 위치에 지정된 텍스트를 삽입합니다.
replace(String s, int x, int y)는 x 위치에서 시작하여 y 위치에서 끝나는 텍스트를 지정된 텍스트로 바꿉니다.
append(String s), 텍스트 영역에 텍스트를 추가합니다.
getCarePosition()은 텍스트 영역에서 활성 커서의 위치를 가져옵니다.
setCarePosition(int n), 활성 커서의 위치를 설정합니다.
setLineWrap(boolean b), 자동 줄 바꿈을 설정합니다. 기본적으로 자동 줄 바꿈이 수행되지 않습니다.
다음 코드는 텍스트 영역을 생성하고 자동으로 줄바꿈하도록 설정합니다.
rree텍스트 영역에 내용이 많아 텍스트 영역에 모두 표시할 수 없는 경우 텍스트 영역에 스크롤 막대를 추가할 수 있습니다. 텍스트 영역의 스크롤 막대를 설정하려면 다음 코드를 사용할 수 있습니다:
JTextArea textA = new JTextArea(“我是一个文本区”,10,15); textA.setLineWrap(true);//设置自动换行
在GUI中,常用文本框和文本区实现数据的输入和输出。如果采用文本区输入,通常另设一个数据输入完成按钮。当数据输入结束时,点击这个按钮。事件处理程序利用getText()方法从文本区中读取字符串信息。对于采用文本框作为输入的情况,最后输入的回车符可以激发输入完成事件,通常不用另设按钮。事件处理程序可以利用单词分析器分析出一个个数,再利用字符串转换数值方法,获得输入的数值。对于输出,程序先将数值转换成字符串,然后通过setText()方法将数据输出到文本框或文本区。
【例】小应用程序设置一个文本区、一个文本框和两个按钮。用户在文本区中输入整数序列,单击求和按钮,程序对文本区中的整数序列进行求和,并在文本框中输出和。单击第二个按钮,清除文本区和文本框中的内容。
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); } } }
【例】小应用程序计算从起始整数到终止整数中是因子倍数的所有数。小程序容器用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)+""); } } } }
更多解析Java图形化编程中的文本框和文本区相关文章请关注PHP中文网!

이 기사에서는 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 및 Gradle을 사용하여 접근 방식과 최적화 전략을 비교합니다.

이 기사에서는 Maven 및 Gradle과 같은 도구를 사용하여 적절한 버전 및 종속성 관리로 사용자 정의 Java 라이브러리 (JAR Files)를 작성하고 사용하는 것에 대해 설명합니다.

이 기사는 카페인 및 구아바 캐시를 사용하여 자바에서 다단계 캐싱을 구현하여 응용 프로그램 성능을 향상시키는 것에 대해 설명합니다. 구성 및 퇴거 정책 관리 Best Pra와 함께 설정, 통합 및 성능 이점을 다룹니다.

이 기사는 캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA를 사용하는 것에 대해 설명합니다. 잠재적 인 함정을 강조하면서 성능을 최적화하기위한 설정, 엔티티 매핑 및 모범 사례를 다룹니다. [159 문자]

Java의 클래스 로딩에는 부트 스트랩, 확장 및 응용 프로그램 클래스 로더가있는 계층 적 시스템을 사용하여 클래스로드, 링크 및 초기화 클래스가 포함됩니다. 학부모 위임 모델은 핵심 클래스가 먼저로드되어 사용자 정의 클래스 LOA에 영향을 미치도록합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
