十一、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学习 ...
随机推荐
- zw版_Halcon-delphi系列教程_卫星航拍精确打击目标自动识别
<zw版·Halcon-delphi系列原创教程> 卫星航拍精确打击目标自动识别 这几天,俄罗斯空军在叙利亚大显神威,美军有意见了,说俄罗斯是狂轰滥炸,不是精确打击. 不过,战斗 ...
- Sinatra+SQLite3+DataMapper - 十分完整的tutorial - “Superdo”
原文地址:https://ididitmyway.herokuapp.com/past/2010/3/30/superdo_a_sinatra_and_datamapper_to_do_list/ 这 ...
- 三层架构和MVC模式
目录[-] 1.三层架构 2.MVC 2.1 标准的MVC(Model-View-Controller) 2.2 Web MVC 3.三层架构和MVC的区别与联系 1.三层架构 三层架构(3-tier ...
- C语言初学者代码中的常见错误与瑕疵(14)
见:C语言初学者代码中的常见错误与瑕疵(14) 相关链接:http://www.anycodex.com/blog/?p=87
- 12个滑稽的C语言面试问答——《12个有趣的C语言问答》评析(5)
前文链接:http://www.cnblogs.com/pmer/archive/2013/09/17/3327262.html A,局部变量的返回地址 Q:下面的代码有问题吗?如果有,如何修改? # ...
- Android利用数据库传送数据
---恢复内容开始--- 一.建表 //通过SQLiteDatabase 创建数据库stu.db3 final SQLiteDatabase db = SQLiteDatabase.openOrCre ...
- 【python cookbook】【数据结构与算法】15.根据字段将记录分组
问题:想根据字典或者对象实例的某个特定的字典(比如日期)来分组迭代数据 解决方案:itertools.groupby()函数在对数据进行分组时特别有用(前提是先以目标字典进行排序) rows = [ ...
- hadoop之Spark强有力竞争者Flink,Spark与Flink:对比与分析
hadoop之Spark强有力竞争者Flink,Spark与Flink:对比与分析 Spark是一种快速.通用的计算集群系统,Spark提出的最主要抽象概念是弹性分布式数据集(RDD),它是一个元素集 ...
- flex mx组件和s组件的字体兼容性不一致
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- nginx+tomcat负载均衡+动静分离+redis集中管理session
1.服务器A安装ng,服务器B.C安装tomcat: 2.服务器A建立/data/www目录,用于发布静态文件: 3.ng无动静分离配置: user root root; worker_process ...