常用基本控件

javax.swing.JButton

在图形界面程序中,按钮可能是使用量最大的控件之一,javax.swing包中JButton类就是用来创建按钮的。如表1所示,为JButton常用的构造方法。

javax.swing.JLabel

JLabel控件是最简单的Swing组件之一,用于在窗体上显示标签, JLabel既可以显示文本,也可以显示图像。如表3所示,为JLabel常用的构造方法。

注意:

JLabel只能用于显示文本和图标信息,用户不能对其进行修改。

javax.swing.JTextField

JTextField 也是一个轻量级控件,它允许用户编辑单行文本。如表5所示,为JTextField常用的构造方法。

javax.swing.JPasswordField

JPasswordField 是一个轻量级组件,允许编辑单行文本,其视图指示键入内容,但不显示原始字符。它是一个单行的密码框控件,具体使用方式和JTextField大致一样,所以不再赘述。

现在我们运用上面提到的控件实现一个登陆窗口,效果如下:

【示例1】使用控件实现登录窗口

package cn.sxt.views.testlogin;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class LoginFrame extends JFrame {

//容器

private JPanel pnlMain;

//标签控件

private JLabel lblTitle;

private JLabel lblUserName;

private JLabel lblUserPwd;

//输入用户名的文本框控件

private JTextField txtUserName;

//输入密码的密码框控件

private JPasswordField pwdUserPwd;

//登录和退出按钮控件

private JButton btnLogin;

private JButton btnQuit;

public LoginFrame() {

//实例化容器和各种控件

pnlMain = new JPanel(null);

lblTitle = new JLabel("用户登录");

lblUserName = new JLabel("用户姓名:");

lblUserPwd = new JLabel("用户密码:");

txtUserName = new JTextField();

pwdUserPwd = new JPasswordField();

btnLogin = new JButton("登录");

btnQuit = new JButton("退出");

init();

}

/**该方法对窗口做初始化操作*/

private void init() {

//设置窗口的各个属性

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