Swing常用组件之文本框和文本区
一、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(); } }
二、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(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助。