Swing常用組件之文本框和文本區(qū)
一、JTextField(文本框)的使用
JTextField是一個(gè)輕量級(jí)的組件,可以編輯單行文本,實(shí)現(xiàn)剪切,復(fù)制,粘貼,快捷鍵等工作,如果文本的長(zhǎng)度超出顯示范圍,會(huì)自動(dòng)滾動(dòng)文本,JTextField類的構(gòu)造方法
1.JTextField的常用構(gòu)造方法:
JTextField() 構(gòu)造一個(gè)新的 TextField。
JTextField(int columns) 構(gòu)造一個(gè)具有指定列數(shù)的新的空 TextField。
JTextField(String text) 構(gòu)造一個(gè)用指定文本初始化的新TextField。
JTextField(String text, int columns) 構(gòu)造一個(gè)用指定文本和列初始化的新TextField。
2.JTextField的常用方法:
SetText(string) 設(shè)置文本域中的文本值
GetText()返回文本域中的輸入文本值
getColumns()返回文本域的列數(shù)
setEditable(Boolean) 設(shè)置文本域是否為只讀狀態(tài)
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("請(qǐng)輸入用戶名"); JLabel password = new JLabel("請(qǐng)輸入密碼"); 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("登錄成功,歡迎您的到來(lái)!"); } else { jl[2].setText("對(duì)不起,您的密碼或用戶名錯(cuò)誤!"); } } } public static void main(String args[]) { new LoginTest(); } }
二、JTextArea(文本區(qū))的使用
1.JTextArea的常用構(gòu)造方法:
JTextArea() 構(gòu)造新的 TextArea。
JTextArea(String text) 構(gòu)造顯示指定文本的新的 TextArea。
JTextArea(int rows, int columns) 構(gòu)造具有指定行數(shù)和列數(shù)的新的空 TextArea。
JTextArea(String text, int rows, int columns) 構(gòu)造具有指定文本、行數(shù)和列數(shù)的新的 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()設(shè)置文本顯示的內(nèi)容
t2.append("JTextArea2");// append()方法會(huì)將給定文本追加到文檔結(jié)尾。
t4.setLineWrap(true);// 設(shè)置文本區(qū)的換行策略。
t4.setFont(new Font("標(biāo)楷體", Font.BOLD, 16)); //設(shè)置當(dāng)前字體。
t4.setTabSize(2);//使用setTabSize()方法設(shè)置[Tab]鍵的跳離距離
將JTextArea放入JScrollPane中,這樣就能利用滾動(dòng)的效果看到輸入超過(guò)JTextArea高度的文字.
3.JTextArea使用的案例:
import java.awt.*; import java.awt.event.*; import javax.swing.*; //實(shí)現(xiàn)接口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("標(biāo)楷體", Font.BOLD, 16)); jta.setLineWrap(true);// 激活自動(dòng)換行功能 jta.setWrapStyleWord(true);// 激活斷行不斷字功能 jta.setBackground(Color.pink); jscrollPane = new JScrollPane(jta); jpanel = new JPanel(); jpanel.setLayout(new GridLayout(1, 3)); jb1 = new JButton("復(fù)制"); 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(); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- Java Swing中的工具欄(JToolBar)和分割面版(JSplitPane)組件使用案例
- Java Swing中的表格(JTable)和樹(JTree)組件使用實(shí)例
- Java Swing中的下拉式菜單(menu)、彈出式菜單(JPopupMenu)、選項(xiàng)卡窗體(JTabbedPane)組件使用案例
- Java Swing中的JButton、JComboBox、JList和JColorChooser組件使用案例
- java之swing單選框用法實(shí)例分析
- java之swing實(shí)現(xiàn)復(fù)選框的方法
- Swing常用組件之多行文本區(qū)JTextArea
- Swing常用組件之單選按鈕和復(fù)選框
相關(guān)文章
簡(jiǎn)單了解Java中多態(tài)的基礎(chǔ)知識(shí)
這篇文章主要介紹了簡(jiǎn)單了解Java中的多態(tài),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Java與Oracle實(shí)現(xiàn)事務(wù)(JDBC事務(wù))實(shí)例詳解
這篇文章主要介紹了Java與Oracle實(shí)現(xiàn)事務(wù)(JDBC事務(wù))實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05Springboot訪問(wèn)templates html頁(yè)面過(guò)程詳解
這篇文章主要介紹了Springboot訪問(wèn)templates html頁(yè)面過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Java精品項(xiàng)目瑞吉外賣之新增菜品與分頁(yè)查詢篇
這篇文章主要為大家詳細(xì)介紹了java精品項(xiàng)目-瑞吉外賣訂餐系統(tǒng),此項(xiàng)目過(guò)大,分為多章獨(dú)立講解,本篇內(nèi)容為新增菜品和分頁(yè)查詢功能的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05RabbitMq消息防丟失功能實(shí)現(xiàn)方式講解
這篇文章主要介紹了RabbitMq消息防丟失功能實(shí)現(xiàn),RabbitMQ中,消息丟失可以簡(jiǎn)單的分為兩種:客戶端丟失和服務(wù)端丟失。針對(duì)這兩種消息丟失,RabbitMQ都給出了相應(yīng)的解決方案2023-01-01關(guān)于Nacos配置管理的統(tǒng)一配置管理、自動(dòng)刷新詳解
這篇文章主要介紹了關(guān)于Nacos配置管理的統(tǒng)一配置管理、自動(dòng)刷新詳解,Nacos是阿里的一個(gè)開源產(chǎn)品,是針對(duì)微服務(wù)架構(gòu)中的服務(wù)發(fā)現(xiàn)、配置管理、服務(wù)治理的綜合型解決方案,需要的朋友可以參考下2023-05-05淺談Java中Collection和Collections的區(qū)別
下面小編就為大家?guī)?lái)一篇淺談Java中Collection和Collections的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08