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 용기류 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)+"");
      }
    }
  }
}
위에서 말한 것이 바로 본문의 전체 내용입니다. 여러분이 좋아하시기 바랍니다.

좋은 웹페이지 즐겨찾기