程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Swing經常使用組件之文本框和文本區

Swing經常使用組件之文本框和文本區

編輯:關於JAVA

Swing經常使用組件之文本框和文本區。本站提示廣大學習愛好者:(Swing經常使用組件之文本框和文本區)文章只能為提供參考,不一定能成為您想要的結果。以下是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(Boolean) 設置文本域能否為只讀狀況
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, int rows, 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]鍵的跳離間隔

將JTextArea放入JScrollPane中,如許就可以應用轉動的後果看到輸出跨越JTextArea高度的文字.

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

以上就是本文的全體內容,願望對年夜家的進修有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved