14.4-全栈Java笔记: javax.swing常用控件有哪些?怎么用?

常用基本控件

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

时间: 2024-10-07 06:14:06

14.4-全栈Java笔记: javax.swing常用控件有哪些?怎么用?的相关文章

9.3-全栈Java笔记:List接口常用实现类的特点和底层实现

上节我们讲到「List接口的特点和常用方法」,本节接着上节的内容继续深入学习. 课前回顾:  List接口常用的实现类有3个:ArrayList.LinkedList.Vector. 那么它们的特点和底层实现有哪些呢? ArrayList特点和底层实现 ArrayList底层是用数组实现的存储. 特点:查询效率高,增删效率低,线程不安全.我们一般使用它. 查看源码,我们可以看出ArrayList底层使用Object数组来存储元素数据.所有的方法,都围绕这个核心的Object数组来开展. Arra

JAVASE学习笔记:第十章 SWing常用控件类(三)

11.设置JFrame背景图片 JPanel c= (JPanel)this.getContentPane(); //创建jpanel Toolkit t=Toolkit.getDefaultToolkit(); //背景图片,将panel不透明设置为false c.setOpaque(false); JLabel label = new JLabel(); URL usrc=this.getClass().getClassLoader().getResource("\\images\\bg.J

JAVASE学习笔记:第十章 SWing常用控件类

AWT(abstract windows toolkit)    抽象窗体工具包,所以java.awt下 缺点:在AWT中存在缺少剪贴板.缺少打印支持等缺陷,甚至没有弹出式菜单和滚动窗口等,AWT依赖于特定的系统 Swing显示性能比AWT要好,而且是纯JAVA来实现,具有跨平台性,因此,实用性比AWT要强,但有些基础功能还需要借助AWT实现,所以不能完全取代AWT Swing所在javax.swing包 1.JFrame  窗体 JFrame jf=new JFrame(); //初始化不可见

JAVASE学习笔记:第十章 SWing常用控件类(二)

7.JComboBox 下拉列表 /* * 初始化下拉列表 */ public void addcomb(){ String[] area = {"山西省", "山东省", "河北省", "陕西省"}; JComboBox jb=new JComboBox(area); jb.setSize(70, 20); jb.setLocation(120, 200); jb.setOpaque(false); c.add(jb); S

14.2-全栈Java笔记: Java Swing创建窗口,原来这么简单!!!

上节我们聊到GUI(Graphical User Interface)的概念,并学习GUI编程中主要需掌握两个包,分别是:AWT和Swing,本节我们会通过Swing程序中常用的类和控件来实现第一个窗口.  javax.swing.JFrame JFrame在GUI中为一个窗口对象,继承于Frame.JFrame控件用于在Swing程序中创建窗体.如表1所示,为JFrame常见的构造方法. 注意: Java语言规定在GUI编程中任何窗口实例化出来时默认为不可见(即隐藏)状态,所以当我们使用构造方

14.1-全栈Java笔记: Java语言中GUI到底是神马鬼?| AWT | Swing

到目前为止,我们在Java中编写的基本都是基于控制台的程序:而Java编程语言之所以如此流行的一个主要原因之一,就是因为它支持图形用户界面功能,即GUI(Graphical User Interface). GUI(Graphical User Interface)即图形用户界面,就是应用程序提供给我们用户操作的图形界面,包括窗口.菜单.工具栏及其它多种图形界面元素,如文本框.按钮.列表框.对话框等.它能使应用程序显得更加友好. 学习Java的GUI编程主要是要掌握两个包,分别是:java.aw

14.5-全栈Java笔记:java.awt这些布局怎么写?|流式|边界|网格

布局管理器 读者会发现,如果使用坐标定位法(空布局),在一个比较复杂的界面上定位每个控件的坐标是一个非常麻烦的工作,而且在界面大小发生改变时,控件的绝对位置也不会随之发生改变.那么如果我们想让用户界面上的组件可以按照不同的方式进行排列怎么办?例如:可以依序水平排列,或者按网格方式进行排列等,其实每种排列方案都是指组件的一种"布局",要管理这些布局,就需要本节学习的布局管理器. 管理布局的类由java.awt包来提供,布局管理器是一组实现java.awt.LayoutManager接口的

14.3-全栈Java笔记:JPanel原来是这样用的

在GUI编程中,如果我们要向窗口中直接添加控件(如按钮控件.标签控件.文本框控件等)是不建议的,所以就出现了容器(JPanel),以后我们只需要在容器里加控件,然后将容器加到窗口上即可.想象一下,窗口如同黑板的外框,我们不会在外框上写字,我们要在被外框包含的黑板的面板上写字,那么黑板的面板就是我们的容器,写在黑板上的字就是控件. JPanel作为中间容器,用于将较小的轻量级控件组合在一起,默认情况下,它是透明的,与窗体的内容面板类似.如表1所示,为JPanel常见的构造方法. 表1 JPanel

10.2-全栈Java笔记:最全面的IO技术(二)

上节我们聊到「IO技术概念及入门」这节我们继续聊一下IO技术的分类. Java中流的概念细分 按流的方向分类: 输入流:数据流向是数据源到程序(InputStream.Reader结尾的流) 输出流:数据流向是程序到目的地(OutPutStream.Writer结尾的流) 按处理的数据单元: 字节流:按照字节读取数据(InputStream.OutputStream)命名上以stream结尾的流一般是字节流. 字符流:按照字符读取数据(Reader.Writer).命名上以Reader/Writ