常用基本控件
javax.swing.JButton
在图形界面程序中,按钮可能是使用量最大的控件之一,javax.swing包中JButton类就是用来创建按钮的。如表1所示,为JButton常用的构造方法。
JButton中还提供了很多设置按钮属性的方法,如设置按钮上的文本、按钮等,如表2所示。
javax.swing.JLabel
JLabel控件是最简单的Swing组件之一,用于在窗体上显示标签, JLabel既可以显示文本,也可以显示图像。如表3所示,为JLabel常用的构造方法。
注意:
JLabel只能用于显示文本和图标信息,用户不能对其进行修改。
javax.swing.JTextField
JTextField 也是一个轻量级控件,它允许用户编辑单行文本。如表5所示,为JTextField常用的构造方法。
JTextField(String text, int columns)
创建一个指定初始化文本和列数的文本框
注意:
JTextField(int columns)方法在使用流式布局时才有效果。
JTextField常用的方法如表6所示。
javax.swing.JPasswordField
JPasswordField 是一个轻量级组件,允许编辑单行文本,其视图指示键入内容,但不显示原始字符。它是一个单行的密码框控件,具体使用方式和JTextField大致一样,所以不再赘述。
现在我们运用上面提到的控件实现一个登陆窗口,效果如下:
【示例1】使用控件实现登录窗口
packagecn.sxt.views.testlogin;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
publicclassLoginFrameextendsJFrame {
//容器
privateJPanelpnlMain;
//标签控件
privateJLabellblTitle;
privateJLabellblUserName;
privateJLabellblUserPwd;
//输入用户名的文本框控件
privateJTextFieldtxtUserName;
//输入密码的密码框控件
privateJPasswordFieldpwdUserPwd;
//登录和退出按钮控件
privateJButtonbtnLogin;
privateJButtonbtnQuit;
publicLoginFrame() {
//实例化容器和各种控件
pnlMain=newJPanel(null);
lblTitle=newJLabel("用户登录");
lblUserName=newJLabel("用户姓名:");
lblUserPwd=newJLabel("用户密码:");
txtUserName=newJTextField();
pwdUserPwd=newJPasswordField();
btnLogin=newJButton("登录");
btnQuit=newJButton("退出");
init();
}
/**该方法对窗口做初始化操作*/
privatevoidinit() {
//设置窗口的各个属性
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("登录窗口");
this.setSize(300, 220);
this.setResizable(false);
/*设置各个控件的位置和坐标
* setBounds()的前两个参数为控件的左上角坐标,后两个参数为控件的宽和高
*/
lblTitle.setBounds(100, 10, 100, 30);
lblUserName.setBounds(20, 60, 75, 25);
lblUserPwd.setBounds(20, 100, 75, 25);
txtUserName.setBounds(100, 60, 120, 25);
pwdUserPwd.setBounds(100, 100, 120, 25);
btnLogin.setBounds(50, 140, 75, 25);
btnQuit.setBounds(150, 140, 75, 25);
//将所有控件压在容器上
pnlMain.add(lblTitle);
pnlMain.add(lblUserName);
pnlMain.add(lblUserPwd);
pnlMain.add(txtUserName);
pnlMain.add(pwdUserPwd);
pnlMain.add(btnLogin);
pnlMain.add(btnQuit);
//将容器添加到窗口上
this.add(pnlMain);
this.setVisible(true);
}
}
「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称 Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。
笔记包含从浅入深的六大部分:
A-Java入门阶段
B-数据库从入门到精通
C-手刃移动前端和Web前端
D-J2EE从了解到实战
E-Java高级框架精解
F-Linux和Hadoop