十一、Swing
1、Swing常用窗体
(1)JFrame框架窗体
JFrame窗体是一个容器,是Swing程序中各组件的载体。
语法:JFrame jf = new JFrame(title);
Container container = jf.getContentPane();
方法:setBackground()、setSize()、setDefultCloseOperation(模式)
几种关闭模式:DO_NOTHING_ON_CLOSE //什么都不做关闭
DISPOSE_ON_CLOSE //任何注册监听程序对象后自动隐藏并释放窗体
HIDE_ON_CLOSE //隐藏窗口的默认关闭
EXIT_ON_CLOSE //退出默认关闭
2、JDialog窗体(对话框)
调用getContentPane()将窗体转化为容器
构造方法:public JDialog()、public JDialog(Frame f)、public JDialog(Frame f.blooean model)、public JDialog(Frame f,String title)、Public JDialog(Frame f,String title,boolean model)
setResizalbe(false) //机制改变窗体大小
3、标签组件与图标
(1)标签:JLabel 显示文本和图片。
构造方法:public JLabel()、public JLabel(Icon icon)、public JLabel(Icon icon,inte aligment)、public JLabel(String text,int aligment)、public JLabel(String text,Icon icon,int aligment)
(2)图标:icon
创建图标必须实现icon接口的3个方法:
1)public int getIconHeight()
2)public int getIconWidth()
3)public void paintIcon(Component arg0,Graphics arg1,int arg2,int arg3)
ImageIconl类
构造方法:public ImageIcon()、public ImageIcon(Image image)、public ImageICon(Image image,String description)、public ImageIcon(URI url)
4、布局管理器
(1)绝对布局
取消布局管理器:Container.setLayout(null)
设置组件的大小和位置:Component。setBounds()
(2)流布局管理器(FLowLayout)
构造方法:public FlowLayout()、public FlowLayout(int alignment)、public FlowLayout(int alignment,int horizGap,int vertGap)
行位置:FlowLayout.LEFT=0/CENTER=1/RIGHT=2
(3)边界布局管理器(BorderLaoyout)
容器方位:BorderLayout.NORTH/SOUTH/WAST/WEST/CENTER
(4)网格布局管理器(GridLayout)
构造方法:public GridLayout(int rows,int columns)
public GridLayout(int rows,int columns,int horizGap,int vertGap)
5、常用面板
(1)JPanel面板:聚集一些组件来布局。
(2)JScrollPane面板:带滚动条的面板,只放置一个组件,不能使用布局管理器。
6、按钮组件
(1)提交按钮组件(JButton)
构造方法:public JButton()、public JButton(String text)、public JButton(Icon icon)、public JButton(String text,Icon icon)
(2)单选按钮组件(JRadioButton)
构造方法:public JRadioButton()
public JRadioButton(Icon icon)
public JRadioButton(Icon icon,boolean selected)
public JRadioButton(String text)
public JRadioButton(String text,Icon icon)
public JRadioButton(String text,Icon icon,boolean selected)
(3)复选框组件(JCheckBox)
构造方法:public JCheckBox()
public JCheckBox(Icon icon,boolean checked)
public JCheckBox(String text,boolean checked)
7、列表组件
(1)JComboBox类
构造方法:public JComboBox()
public JComboBox(ComboBoxModel dataModel)
public JComboBox(Object[] arrayData)
public JComboBox(Vector vector)
(2)JComboBox模型
1)一般将下拉列表框中的项目封装为ComboBoxModel接口。
实现2个方法:public void setSelectedItem(Object item)
public Object getSelectedItem()
2)继承AbstractListModel类。
2个方法:getSize()、getElementAt(int index)
8、列表框组件(JList)
构造方法:public void JList()
public ovid JList(Object[] listData)
public void JList(Vector listData)
public void JList(ListModel dataModel)
9、文本组件
(1)文本框组件(JTextField)
构造方法:public JTextField()
public JTextField(String text)
public JTextField(int fieldwidth)
public JTextField(String text,int fieldwidth)
public JTextField(Document docMoedel,String text,int fieldWidth)
(2)密码框组件(JPasswordField)
构造方法:public JPasswordField()
public JPasswordField(String text)
public JPasswordField(int fieldwidth)
public JPasswordField(String text,int fieldwidth)
public JPasswordField(Document docModel,String text,int fieldWidth)
(3)文本域组件(JTextArea)
构造方法:public JTextArea()
public JTextArea(String text)
public JTextArea(int rows,int columns)
public JTextArea(Document doc)
public JTextArea(Document doc,String Text,int rows,int columns)
十一、Swing的更多相关文章
- 十一:Java之GUI图形Awt和Swing
一. AWT和 Swing AWT 和 Swing 是 Java 设计 GUI用户界面的基础.与 AWT 的重量级组件不同,Swing 中大部分是轻量级组件.正是这个原因,Swing 差点儿无所不能, ...
- Java开发笔记(一百三十一)Swing的列表框
前面介绍了选择框的用法,当时为了方便用户勾勾点点,无论是复选框还是单选按钮,统统把所有选项都摆在界面上.倘若只有两三个选项还好办,要是选项数量变多比如超过五个,这么多的选择框一齐在界面罗列,不光程序员 ...
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
JAVA之旅(三十一)--JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件 有段时间没有更新JAVA了,我们今天来说一下JAVA中的图形化界面,也就是GUI ...
- 杨其菊/常惠琢《面向对象程序设计(java)》第十一周学习总结
<面向对象程序设计>第十一周学习总结 第一部分:理论知识 JAVA的集合框架 JAVA的集合框架实现对各种数据结构的封装,以降低对数据管理与处理的难度. 所谓框架就是一个类库的集合,框 ...
- 王颖奇 20171010129《面向对象程序设计(java)》第十一周学习总结
实验十一 集合 实验时间 2018-11-8 1.实验目的与要求 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: (2) 了解java集合框架体系组成: (3) ...
- CRL快速开发框架系列教程十一(大数据分库分表解决方案)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- 如何使用swing创建一个BeatBox
首先,我们需要回顾一些内容(2017-01-04 14:32:14): 1.Swing组件 Swing的组件(component,或者称之为元件),是较widget更为正确的术语,它们就是会放在GUI ...
- 我的MYSQL学习心得(十一) 视图
我的MYSQL学习心得(十一) 视图 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- WCF学习之旅—第三个示例之五(三十一)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) WCF学习 ...
随机推荐
- ViewModel在MVC3中的应用:一个view显示多个model
在mvc3中,默认是一张数据表对应一个model,一个视图 view只显示一个model. 但是有些时候,我们一个视图上可能需要显示多个model的内容,即一个网页可能要展示多张表的信息,那怎么办呢, ...
- u盘安装centos
1. 下载centos系统2. 使用UltraISO制作u盘启动.制作方法:http://jingyan.baidu.com/article/a378c960630e61b329283045.html ...
- 关于teleport_pro使用过程中的一点疑惑
在我新建工程的时候,有两个选项,一个是"new project wizard"另一个是"new project",然后就纠结了,我应该使用那个呢? 使用第一个的 ...
- 累加两个php数组,键相同的累加,不同的合并
1. $arr1=array('name'=>33,'type'=>1); $arr2=array('name'=>33,'price'=>200); $res=array() ...
- ASP.NET MVC5 新特性:Attribute路由使用详解 (转载)
1.什么是Attribute路由?怎么样启用Attribute路由? 微软在 ASP.NET MVC5 中引入了一种新型路由:Attribute路由,顾名思义,Attribute路由是通过Attrib ...
- linux信号机制 - 用户堆栈和内核堆栈的变化【转】
转自:http://itindex.net/detail/16418-linux-%E4%BF%A1%E5%8F%B7-%E5%A0%86%E6%A0%88 此文只简单分析发送信号给用户程序后,用户堆 ...
- 和菜鸟一起学linux总线驱动之初识spi驱动数据传输流程【转】
转自:http://blog.csdn.net/eastmoon502136/article/details/7921846 对于SPI的一些结构体都有所了解之后呢,那么再去瞧瞧SPI的那些长见的操作 ...
- Pascal's Triangle
class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector< ...
- [转]Dynamics AX and Generic collections of .Net
转自:http://blogs.msdn.com/b/emeadaxsupport/archive/2009/04/23/dynamics-ax-and-generic-collections-of- ...
- PHP删除MySQL数据库下的所有数据表
<?php //[数据无价,请谨慎操作!] $hostname ='localhost'; $userid = 'username'; $password = 'password'; $d ...