常用基本控件

javax.swing.JButton

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

wKiom1mRSt2i9ibUAAEhQZBNBM0156.png

 javax.swing.JLabel

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

wKiom1mRSvyhTlFGAACuq9PAL7A247.png

注意:

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

 javax.swing.JTextField

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

wKioL1mRSxPybEYVAAD3IVXaAps513.png

javax.swing.JPasswordField

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

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

 wKiom1mRSzbTO_Y1AAC74Xh1hUI517.png        

 【示例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