Java GUI 基础组件
1、JLabel 标签
构造函数:
- JLabel()
- JLabel(String text)
- JLabel(String text,int align) //第二个参数设置文本的对齐方式,常量,比如SwingConstants.LEFT/RIGHT。
- JLabel(Icon image) //显示图片
- JLabel(Icon image,int align)
- JLabel(String text,Icon image,int align) //同时显示文字、图片
常用方法:
- set/getText()
- set/getIcon()
2、JButton 按钮
构造函数:
- JButton()
- JButton(String text)
- JButton(Icon image)
- JButton(String text,Icon image)
3、JRadioButton 单选按钮
构造函数:
- JRadioButton()
- JRadioButton(String text) //文本
- JRadioButton(String text,boolean selected) //第二个参数指定是否默认选中
- JRadioButton(Icon image) //图片
- JRadioButton(Icon image,boolean selected)
- JRadioButton(String text,Icon image) //文本+图片
- JRadioButton(String text,Icon image,boolean selected)
常用方法:
- getText()
- isSelected()
- setSelected(boolean selected) //设置是否选中
- setSelectedIcon(Icon image) //设置选中时的图标
4、JCheckBox 复选框
JCheckBox的构造函数、常用方法和JRadioButton的完全一样,只是把JRadioButton换为JCheckBox。
5、ButtonGroup 按钮组
ButtonGroup group=new ButtonGroup(); //ButtonGroup是Swing的一个类,不带前缀J,并不是组件,不能被添加到某个容器中
group.add(btn1); //ButtonGroup只是逻辑上的一个容器,表示一组按钮,并非实际的UI容器,所以还是要在实际的UI容器中添加按钮
group.add(btn2);
.....
container.add(btn1);
container.add(btn2);
.....
ButtonGroup可以添加普通按钮/单选按钮/复选框,将一组单选按钮放在ButtonGroup中,则这组单选按钮最多只能有一个被选中。
ButtonGroup的常用方法:
- clearSelection() //清除选中状态
判断选中项:
Enumeration<AbstractButton> btns=group.getElements(); //获取这组所有的按钮
while (btns.hasMoreElements()) {
AbstractButton btn = btns.nextElement();
if(btn.isSelected()){
//.......
}
}
普通按钮、单选按钮、复选框都是AbstractButton的实现类。
CheckboxGroup和GroupButton的使用方式相似,CheckboxGroup只能组合一组复选框,放入CheckboxGroup后这组复选框只能选择一个。
6、JTextField 单行文本框
构造函数:
- TextField()
- TextField(String text) //默认文本
- TextField(int columns) //指定列数(文本框的宽度),注意setSize()对TextField无效
- TextField(String text,int columns)
常用方法:
- set/getText()
- set/getColumns()
7、JPassword
8、JTextArea 多行文本域
构造函数:
- TextArea()
- TextArea(String text) //默认文本
- TextArea(int rows,int columns) //行数、列数,TextArea的尺寸由行数、列数决定,setSize()对TextArea无效
- TextArea(String text,int rows,int columns)
- TextArea(String text,int rows,int columns,int scrollbar) //最后一个参数指定滚动条,TextArea类的常量,
可用的值:
- TextArea.SCROLLBARS_HORIZONTAL_ONLY //只使用水平滚动条
- TextArea.SCROLLBARS_VERTICAL_ONLY //只使用竖直滚动条
- TextArea.SCROLLBARS_BOTH //同时使用水平、竖直滚动条
- TextArea.SCROLLBARS_NONE //不使用滚动条
前3个,需要的时候才出现滚动条。
使用水平滚动条:第一行达到边界时,会出现水平滚动条,继续往右,不会自动换行,只能手动换行。
不使用水平滚动条:达到边界时,会自动换行,转到下一行开头。
9、Choice 下拉列表 这个是AWT的组件,Swing中没有对应的

Choice choice=new Choice();
choice.add("第一项"); //添加一项
choice.addItem("第二项"); //这2种方式的效果相同
Choice可添加某些特殊的事件监听,比如 ItemListener。
10、JPanel 中间容器
构造函数:
- JPanel()
- JPanel(LayoutManager layout) //布局管理器
- JPanel(boolean isDoubleBuffered) //是否使用双缓冲
- JPanel(LayoutManager layout,boolean isDoubleBuffered)
双缓冲:重绘界面/图像时,界面/图像会闪烁,使用双缓冲可解决闪烁问题。
Swing的组件默认使用双缓冲,AWT的组件只能自己写代码实现双缓冲。
11、JScrollBar 滑动条 可作为滚动条、滑块,比如调节音量、进度
构造函数:
- JScrollBar()
- JScrollBar(int orientation) //滑动条的方向,常量,可能的值:Adjustable.HORIZONTAL 水平滑动条,Adjustable.VERTICAL 垂直滑动条
- JScrollBar(int orientation,int value,int extent,int min,int max) //滑动条方向,默认值,滑块大小,滑动条的最小值,滑动条的最大值
常用方法:
- getValue() //获取当前值
- setValue(int value) //设置当前值
使用示例:
JScrollBar scrollbar=new JScrollBar(Adjustable.HORIZONTAL,50,100,0,500);
scrollbar.setPreferredSize(new Dimension(500,10)); //必须设置JScrollBar的大小,不然效果不对
panel.add(scrollbar); //添加到容器中
12、JScrollPane 自带滚动条的容器
构造函数:
- JScrollPane()
- JScrollPane(Component view) //将一个组件放置到JScrollPane中,一般是将内容放到一个Container中,再将这个Container作为view放到JScrollPane中
- JScrollPane(int vsbPolicy,int hsbPolicy) //设置垂直、水平滚动条,可选的值均为常量。vsb即Vertical ScrollBar,hsb即Horizontal ScrollBar。
- JScrollPane(Component view,int vsbPolicy,int hsbPolicy)
vsbPolicy可选的值:
ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS //显示垂直滚动条
ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER //不显示
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED //需要时才显示
hsbPolicy可选的值:
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
使用示例:
JTextArea area=new JTextArea(5,50);
JScrollPane pane=new JScrollPane(area,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
Java GUI 基础组件的更多相关文章
- java GUI (课堂笔记)
关于java GUI Swing组件: JFrame 窗口组件 JLabel 标签 JButton 按钮组件 JTextField 单行文本框 系统控件(JDK自带) 自定义控件(模仿系统控件): 继 ...
- Java GUI编程4---标签组件JLabel
Java GUI编程4---标签组件JLabel 2018年06月11日 22:06:58 蓝蓝223 阅读数 12103更多 个人分类: Java书籍摘抄 所属专栏: Java Swing图形界面 ...
- Java学习笔记:GUI基础
一:我们使用到的java GUI的API可以分为3种类: 组件类(component class) 容器类(container class) 辅助类(helper class) 1:组件类:组件类是用 ...
- 「小程序JAVA实战」小程序的基础组件(24)
转自:https://idig8.com/2018/08/12/xiaochengxu-chuji-24/ 来说下 ,小程序的基础组件.源码:https://github.com/limingios/ ...
- Java GUI编程中AWT/swing/SWT的优缺点
http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具 ...
- Java GUI 图书管理系统
01 概述 一款功能强大的图书馆管理系统,功能齐全,小白/大学生项目实训,学习的不二之选. 02 技术 此系统使用 java awt 实现.java.awt是一个软件包,包含用于创建用户界面和绘制图形 ...
- Java GUI入门手册-AWT篇
Java GUI入门手册: AWT是基本的GUI设计工具,重点学习其中的布局格式以及事件监听事件. 首先创建一个窗口,我们先分析Frame类中的方法: 通过上图,可以看出frame是由构造方法的重载: ...
- 【百度文库课程】Java语言基础与OOP入门学习笔记一
一. Java的历史与由来 原名Oak,针对嵌入式系统开发设计,语法与C/C++基本一致 二. Java语言特点 Java由四方面组成:Java编程语言.Java类文件格式.Java虚拟机和Java应 ...
- JAVA GUI
JAVA GUI中的事件处理: 委托事件模型:事件源对象和监听器对象具有绑定关系 一个监听器可以绑定多个事件源 一个事件源也可以绑定多个监听器 监听器有各自监听的事件类型 设置容器的布局管 ...
随机推荐
- devm_regmap_init_i2c【转】
本文转载自:http://blog.csdn.net/u011975319/article/details/52128845 本文有此处转载http://blog.csdn.net/luckywang ...
- flywaydb and sql server
https://flywaydb.org/documentation/database/sqlserver How Flyway works https://flywaydb.org/getstart ...
- SPOJ:Collecting Candies(不错的DP)
Jonathan Irvin Gunawan is a very handsome living person. You have to admit it to live in this world. ...
- iOS 深拷贝、浅拷贝、自定义对象拷贝简介
copy语法的目的:改变副本的时候,不会影响到源对象: 深拷贝:内容拷贝,会产生新的对象.新对象计数器置为1,源对象计数器不变. 浅拷贝:指针拷贝,不会产生新的对象.源对象计数器+1. 拷贝有下面两个 ...
- [USACO11NOV]二进制数独Binary Sudoku
传送门 这道题是很好的一道IDA*练习题. 首先我们先确定搜索的框架,我们要求的是用最少的修改次数使得所有的行,列,宫之内都有偶数个1,最直观的想法显然是先预处理出有奇数个1的行,列,宫,之后枚举每一 ...
- servlet中的servletURL,servletURI和servletPath
String servletURL=request.getservletURL(); url:站点名+当前web应用名+(目录名)+页面名 String servletURI=reques ...
- AutoIt: send 命令 VS ControlClick的使用
2008年的时候第一次接触AutoIt,当时觉得局限性太多了,就不想学,觉得把Watir,Ruby搞好就行了. 最近一段时间比较闲,发现自己对GUI的自动化操完全是短板,就把AutoIt重新拾起来了. ...
- Com组件介绍
COM组件简介 面向对象的思想难以适应这种分布式软件模型,于是组件化程序设计思想得到了迅速的发展. 按照组件化的程序设计的思想,复杂的应用程序被设计成一些小的,功能单一的组件模块,这些组件模块可以运行 ...
- 【旧文章搬运】CsrssWalker学习笔记
原文发表于百度空间及看雪论坛,2009-05-13 看雪论坛地址:https://bbs.pediy.com/thread-89708.htm============================= ...
- 【201】SeaDAS代码
参考: 官方网站:http://seadas.gsfc.nasa.gov/ L2GEN User's Guide l2gen 代码: l2gen, ifile="ifile", g ...