Swing 공통 구성 요소의 텍스트 상자 및 텍스트 영역

1. JtextField(텍스트 상자) 사용
JtextField는 경량급 구성 요소로 한 줄의 텍스트를 편집하여 잘라내기, 복사, 붙여넣기, 단축키 등의 작업을 할 수 있으며, 텍스트의 길이가 표시 범위를 초과하면 자동으로 텍스트를 스크롤합니다. JtextField 클래스의 구조 방법
1. JtextField의 일반적인 구조 방법:
JtextField()는 새로운 TextField를 구성합니다.
JtextField(int columns)는 지정된 열 수를 가진 새로운 빈 TextField를 구성합니다.
JTextField(String text)는 지정된 텍스트로 초기화된 새 TextField를 구성합니다.
JtextField(String text, int columns)는 지정된 텍스트와 열로 초기화된 새 TextField를 구성합니다.
2. JtextField의 일반적인 방법:
SetText(string) 텍스트 필드에서 텍스트 값 설정
GetText()는 텍스트 필드에서 입력한 텍스트 값을 반환합니다.
getColumns () 는 텍스트 필드의 열 수를 반환합니다.
setEditable(Bolean) 텍스트 필드가 읽기 전용인지 여부를 설정합니다.
3. JtextField의 사용 예:

package ch10; 
 
import java.awt.event.*; 
 
import javax.swing.*; 
 
public class LoginTest extends JFrame implements ActionListener 
{ 
  private JPanel jp = new JPanel(); 
  JLabel name = new JLabel(" "); 
  JLabel password = new JLabel(" "); 
  JLabel show = new JLabel(""); 
  private JLabel[] jl = new JLabel[]{name,password,show}; 
  JButton login = new JButton(" "); 
  JButton reset = new JButton(" "); 
  private JButton[] jb = new JButton[]{login,reset}; 
  private JTextField jname= new JTextField(); 
  private JPasswordField jpass = new JPasswordField(); 
  public LoginTest() 
  { 
    jp.setLayout(null); 
    for(int i=0;i<2;i++) 
    { 
      jl[i].setBounds(30,20+40*i,180,20); 
      jb[i].setBounds(30+110*i,100,80,20); 
      jb[i].addActionListener(this); 
      jp.add(jl[i]); 
      jp.add(jb[i]); 
    } 
    jname.setBounds(130,15,100,20); 
    jp.add(jname); 
    jname.addActionListener(this); 
    jpass.setBounds(130,60,100,20); 
    jp.add(jpass); 
    jpass.addActionListener(this); 
    jpass.setEchoChar('*'); 
    jl[2].setBounds(10,180,270,20); 
    jp.add(jl[2]); 
    this.add(jp); 
    this.setBounds(200,200,300,300); 
    this.setVisible(true); 
    this.setTitle(" "); 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
  } 
  public void actionPerformed(ActionEvent a) 
  { 
    if(a.getSource()==jname) 
    { 
      jpass.requestFocus(); 
    } 
    else if(a.getSource()==jb[1]) 
    { 
      jl[2].setText(""); 
      jname.setText(""); 
      jpass.setText(""); 
      jname.requestFocus(); 
    } 
    else  
    { 
      if(jname.getText().equals("lixiang")&&String.valueOf(jpass.getPassword()).equals("201407239")) 
      { 
        jl[2].setText(" , !"); 
      } 
      else 
      { 
        jl[2].setText(" , !"); 
      } 
    } 
  } 
  public static void main(String args[]) 
  { 
    new LoginTest(); 
  } 
} 
2. JtextArea(텍스트 영역)의 사용
1. JtextArea의 일반적인 구조 방법:
JTextArea()는 새로운 TextArea를 구성합니다.
JTextArea(String text) 구조는 지정된 텍스트의 새 TextArea를 표시합니다.
JtextArea(int rows, int columns)는 지정된 줄 수와 열 수를 가진 새로운 빈 TextArea를 구성합니다.
JtextArea(String text, introws, int columns)는 지정한 텍스트, 줄 수와 열 수를 가진 새로운 TextArea를 구성합니다.
사용 예:

JTextArea t1 = new JTextArea();
JTextArea t2 = new JTextArea(2, 8);
JTextArea t3 = new JTextArea("JTextArea3");
JTextArea t4 = new JTextArea("JTextArea4", 5, 10);
2. JtextArea의 일반적인 방법:
사용 예:
t1.setText("JTextArea1");//setText() 텍스트 표시 내용 설정
t2.append("JTextArea2");//append () 방법은 주어진 텍스트를 문서의 끝에 추가합니다.
t4.setLineWrap(true);//텍스트 영역의 줄 바꿈 정책을 설정합니다.
t4.setFont(new Font("표체", Font.BOLD, 16);//현재 글꼴을 설정합니다.
t4.setTabSize(2);//setTabSize () 메서드를 사용하여 [tab] 키의 점프 거리 설정
JextArea를 JScrollPane에 넣으면 스크롤 효과를 이용하여 JextArea 높이를 초과한 문자를 볼 수 있습니다.
3. JtextArea 활용 사례:

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
 
// ActionListener 
public class JTextAreaDemo3 implements ActionListener { 
 
  JFrame jf; 
  JPanel jpanel; 
  JButton jb1, jb2, jb3; 
  JTextArea jta = null; 
  JScrollPane jscrollPane; 
 
  public JTextAreaDemo3() { 
 
    jf = new JFrame("JTextArea 3"); 
    Container contentPane = jf.getContentPane(); 
    contentPane.setLayout(new BorderLayout()); 
 
    jta = new JTextArea(10, 15); 
    jta.setTabSize(4); 
    jta.setFont(new Font(" ", Font.BOLD, 16)); 
    jta.setLineWrap(true);//   
    jta.setWrapStyleWord(true);//   
    jta.setBackground(Color.pink); 
 
    jscrollPane = new JScrollPane(jta); 
    jpanel = new JPanel(); 
    jpanel.setLayout(new GridLayout(1, 3)); 
 
    jb1 = new JButton(" "); 
    jb1.addActionListener(this); 
    jb2 = new JButton(" "); 
    jb2.addActionListener(this); 
    jb3 = new JButton(" "); 
    jb3.addActionListener(this); 
 
    jpanel.add(jb1); 
    jpanel.add(jb2); 
    jpanel.add(jb3); 
 
    contentPane.add(jscrollPane, BorderLayout.CENTER); 
    contentPane.add(jpanel, BorderLayout.SOUTH); 
 
    jf.setSize(400, 300); 
    jf.setLocation(400, 200); 
    jf.setVisible(true); 
 
    jf.addWindowListener(new WindowAdapter() { 
      public void windowClosing(WindowEvent e) { 
        System.exit(0); 
      } 
    }); 
  } 
 
  //  ActionListener actionPerformed 
  public void actionPerformed(ActionEvent e) { 
    if (e.getSource() == jb1) { 
      jta.copy(); 
    } else if (e.getSource() == jb2) { 
      jta.paste(); 
    } else if (e.getSource() == jb3) { 
      jta.cut(); 
    } 
  } 
 
  public static void main(String[] args) { 
    new JTextAreaDemo3(); 
  } 
} 
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되기를 바랍니다.

좋은 웹페이지 즐겨찾기