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 基础组件的更多相关文章

  1. java GUI (课堂笔记)

    关于java GUI Swing组件: JFrame 窗口组件 JLabel 标签 JButton 按钮组件 JTextField 单行文本框 系统控件(JDK自带) 自定义控件(模仿系统控件): 继 ...

  2. Java GUI编程4---标签组件JLabel

    Java GUI编程4---标签组件JLabel 2018年06月11日 22:06:58 蓝蓝223 阅读数 12103更多 个人分类: Java书籍摘抄 所属专栏: Java Swing图形界面 ...

  3. Java学习笔记:GUI基础

    一:我们使用到的java GUI的API可以分为3种类: 组件类(component class) 容器类(container class) 辅助类(helper class) 1:组件类:组件类是用 ...

  4. 「小程序JAVA实战」小程序的基础组件(24)

    转自:https://idig8.com/2018/08/12/xiaochengxu-chuji-24/ 来说下 ,小程序的基础组件.源码:https://github.com/limingios/ ...

  5. Java GUI编程中AWT/swing/SWT的优缺点

    http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具 ...

  6. Java GUI 图书管理系统

    01 概述 一款功能强大的图书馆管理系统,功能齐全,小白/大学生项目实训,学习的不二之选. 02 技术 此系统使用 java awt 实现.java.awt是一个软件包,包含用于创建用户界面和绘制图形 ...

  7. Java GUI入门手册-AWT篇

    Java GUI入门手册: AWT是基本的GUI设计工具,重点学习其中的布局格式以及事件监听事件. 首先创建一个窗口,我们先分析Frame类中的方法: 通过上图,可以看出frame是由构造方法的重载: ...

  8. 【百度文库课程】Java语言基础与OOP入门学习笔记一

    一. Java的历史与由来 原名Oak,针对嵌入式系统开发设计,语法与C/C++基本一致 二. Java语言特点 Java由四方面组成:Java编程语言.Java类文件格式.Java虚拟机和Java应 ...

  9. JAVA GUI

    JAVA GUI中的事件处理:   委托事件模型:事件源对象和监听器对象具有绑定关系   一个监听器可以绑定多个事件源 一个事件源也可以绑定多个监听器 监听器有各自监听的事件类型   设置容器的布局管 ...

随机推荐

  1. java 监听文件或者文件夹变化的几种方式

    1.log4j的实现的文件内容变化监听 package com.jp.filemonitor; import org.apache.log4j.helpers.FileWatchdog; public ...

  2. Hadoop 中的 (side data) 边数据

    一.用途 边数据是作业所需的额外的只读数据,通常用来辅助主数据集: 二.方法 1.利用Configuration类来配置,利用setter()和getter()可方便的使用,方便存储一些基本的类型: ...

  3. 一步一步学Silverlight 2系列(25):综合实例之Live Search

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  4. Docker安装 人生第一次

    Ubuntu 系列安装 Docker 通过系统自带包安装 Ubuntu 14.04 版本系统中已经自带了 Docker 包,可以直接安装. $ sudo apt-get update $ sudo a ...

  5. Kafka使用经验小结

    本文尽量从一个使用者的角度去记录一些在实战当中使用Kfaka所需要关注的要点,这样可能会贴切更多的读者,本文并不会介绍太多的Kafka的一些架构层次设计的知识,因为网上已经有一大堆的重复搬运的资料任由 ...

  6. IOS中的沙盒机制

    IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件 ...

  7. 杂项:ASP.NET Core

    ylbtech-杂项:ASP.NET Core 1.返回顶部 1. ASP.NET Core 是一个跨平台的高性能开源框架,用于生成基于云且连接 Internet 的新式应用程序.使用 ASP.NET ...

  8. 用 SDL2 加载PNG平铺背景并显示前景

    上一篇中加载的是BMP,这次可以引用 SDL2_image.lib,加载更多格式的图像. LoadImage函数做了改动,区别在于不用将surface转换成texture了. 环境:SDL2 + VC ...

  9. 深入研究 Java Synchronize 和 Lock 的区别与用法

    在分布式开发中,锁是线程控制的重要途径.Java为此也提供了2种锁机制,synchronized和lock.做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方.  ...

  10. 分区时"磁盘上没有足够的空间完成此操作"的解决方法

    在新的预装windows 7的品牌机上,工作人员一般将磁盘分为C.D两个分区.但往往造成C盘有很大一部分的空间没办法分出来,而分出来的部分空间又不能和后面的磁盘合并,甚至出现无法新建简单卷的操作,即点 ...