- 浏览: 22596 次
- 性别:
- 来自: 北京
最新评论
-
Catherine_f:
太帅了,我的也是这个错误,删了就好了
java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationConte -
511930751:
不错,不错,正在做一个可定制的问卷调查,在后台创建问卷时,需要 ...
struts处理多行数据同时提交
Swing包是JFC(Java Foundation Classes)的一部分,由许多包组成,如下表:
包 描述
Com.sum.swing.plaf.motif 用户界面代表类,它们实现Motif界面样式
Com.sum.java.swing.plaf.windows 用户界面代表类,它们实现Windows界面样式
Javax.swing Swing组件和使用工具
Javax.swing.border Swing轻量组件的边框
Javax.swing.colorchooser JcolorChooser的支持类/接口
Javax.swing.event 事件和侦听器类
Javax.swing.filechooser JFileChooser的支持类/接口
Javax.swing.pending 未完全实现的Swing组件
Javax.swing.plaf 抽象类,定义UI代表的行为
Javax.swing.plaf.basic 实现所有标准界面样式公共功能的基类
Javax.swing.plaf.metal 用户界面代表类,它们实现Metal界面样式
Javax.swing.table Jtable组件
Javax.swing.text 支持文档的显示和编辑
Javax.swing.text.html 支持显示和编辑HTML文档
Javax.swing.text.html.parser Html文档的分析器
Javax.swing.text.rtf 支持显示和编辑RTF文件
Javax.swing.tree Jtree组件的支持类
Javax.swing.undo 支持取消操作
(在jdk1.3中,第一、第二和pending包没有了,增加了plaf.multi包,主要功能:给缺省的L&F加上附加的L&F,例如一个MultiButtonUI实例可以同时处理MotifButtonUI和AudioButtonUI.)
swing包是Swing提供的最大包,它包含将近100个类和25个接口,几乎所有的Swing组件都在swing包中,只有JtableHeader和 JtextComponent是例外,它们分别在swing.table和swing.text中。
swing.border包中定义了事件和事件监听器类,与AWT的event包类似。它们都包括事件类和监听器接口。
swing.pending包包含了没有完全实现的Swing组件。
swing.table包中主要包括了表格组建(JTable)的支持类。
swing.tree同样是JTree的支持类。
swing.text、swing.text.html、swing.text.html.parser和swing.text.rtf都是用于显示和编辑文档的包。
Jcomponent是一个抽象类,用于定义所有子类组件的一般方法,但并不是所有的Swing组件都继承于JComponent类,JComponent类继承于Container类,所以凡是此类的组件都可作为容器使用。
组件从功能上分可分为:
1) 顶层容器:JFrame,JApplet,JDialog,JWindow共4个
2) 中间容器:JPanel,JScrollPane,JSplitPane,JToolBar
3) 特殊容器:在GUI上起特殊作用的中间层,如JInternalFrame,JLayeredPane,JRootPane.
4) 基本控件:实现人际交互的组件,如Jbutton, JComboBox, JList, JMenu, JSlider, JtextField。
5) 不可编辑信息的显示:向用户显示不可编辑信息的组件,例如JLabel, JProgressBar, ToolTip。
6) 可编辑信息的显示:向用户显示能被编辑的格式化信息的组件,如JColorChooser, JFileChoose, JFileChooser, Jtable, JtextArea。
使用Swing的基本规则
与AWT组件不同,Swing组件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(content pane)上。内容面板是顶层容器包含的一个普通容器,它是一个轻量级组件。基本规则如下:
(1)把Swing组件放入一个顶层Swing容器的内容面板上
(2)避免使用非Swing的重量级组件。
对JFrame添加组件有两种方式:
1) 用getContentPane( )方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childComponent)
2) 建立一个Jpanel或 JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:
Jpanel contentPane=new Jpanel( );
……//把其它组件添加到Jpanel中;
frame.setContentPane(contentPane);
//把contentPane对象设置成为frame的内容面板
根面板
根面板由一个玻璃面板(glassPane)、一个内容面板(contentPane)和一个可选择的菜单条(JMenuBar)组成,而内容面板和可选择的菜单条放在同一分层。玻璃面板是完全透明的,缺省值为不可见,为接收鼠标事件和在所有组件上绘图提供方便。
根面板提供的方法:
Container getContentPane(); //获得内容面板
setContentPane(Container); //设置内容面
JMenuBar getMenuBar( ); //活动菜单条
setMenuBar(JMenuBar); //设置菜单条
JLayeredPane getLayeredPane(); //获得分层面板
setLayeredPane(JLayeredPane); //设置分层面板
Component getGlassPane(); //获得玻璃面板
setGlassPane(Component); //设置玻璃面板
分层面板(JLayeredPane)
Swing提供两种分层面板:JlayeredPane和JDesktopPane。 JDesktopPane是JLayeredPane的子类,专门为容纳内部框架(JInternalFrame)而设置。向一个分层面板种添加组件,需要说明将其加入哪一层,指明组件在该层中的位置:add(Component c, Integer Layer, int position)。
面板(JPanel)
面板(JPanel)是一个轻量容器组件,用法与Panel相同,用于容纳界面元素,以便在布局管理器的设置下可容纳更多的组件,实现容器的嵌套。Jpanel, JscrollPane, JsplitPane, JinteralFrame都属于常用的中间容器,是轻量组件。Jpanel的缺省布局管理器是FlowLayout。
滚动窗口(JScrollPane)
JscrollPane是带滚动条的面板,主要是通过移动JViewport(视口)来实现的。JViewport是一种特殊的对象,用于查看基层组件,滚动条实际就是沿着组件移动视口,同时描绘出它在下面"看到"的内容。
分隔板(JSplitPane)
JSplitPane提供可拆分窗口,支持水平拆分和垂直拆分并带有滑动条。常用方法有:
addImpl(Component comp,Object constraints,int index)//增加指定的组件
setTopComponent(Component comp) //设置顶部的组件
setDividerSize(int newSize) //设置拆分的大小
setUI(SplitPaneUI ui) //设置外观和感觉
选项板(JTabbedPane)
JTabbedPane提供一组可供用户选择的带有标签或图标的开关键。常用方法:
add(String title,Component component) //增加一个带特定标签的组件
addChangeListener(ChangeListener l) //选项板注册一个变化监听器
工具栏(JToolBar)
JtoolBar是用于显示常用工具控件的容器。用户可以拖拽出一个独立的可显示工具控件的窗口。
常用方法有:
JToolBar(String name) //构造方法
getComponentIndex(Component c) //返回一个组件的序号
getComponentAtIndex(int i) //得到一个指定序号的组件
内部框架(JInternalFrame)
内部框架JInternalFrame就如同一个窗口在另一个窗口内部,其特点如下:
1) 必须把内部框架添加到一个容器中(通常为JDesktopPane),否则不显示;
2) 不必调用show()或setVisible()方法,内部框架随所在的容器一起显示;
3) 必须用setSize()或pack()或setBounds方法设置框架尺寸,否则尺寸为零,框架不能显示;
4) 可以用setLocation()或setBounds( ) 方法设置内部框架在容器中的位置,缺省值为0,0,即容器的左上角;
5) 象顶层JFrame一样,对内部框架添加组件也要加在它的内容面板上;
6) 在内部框架中建立对话框,不能使用JDialog作为顶层窗口,必须用JOptionPane或JInternalFrame;
7) 内部框架不能监听窗口事件,可以通过监听与窗口事件类似的内部框架(JInternalFrameEvent)处理内部框架窗口的操作。
JFrame frame=new JFrame("InternalFrameDemo"); //实例化窗口
JDesktopPane desktop=new JDesktopPane(); //实例化容器JDesktopPane
MyInternalFrame myframe=new MyInternalFrame(); //实例化内部窗口
desktop.add(myframe); //把内部窗口添加到容器中
myframe.setSelected(true); //内部面板是可选择的
frame.setContentPane(desktop); //把desktop设为frame的内容面板
学习资源:http://www.bccn.net/Article/kfyy/java/jc/200410/84.html
发表评论
-
epoll 或者 kqueue 的原理(摘自知乎蓝形参)
2015-06-07 16:29 927首先我们来定义流的概 ... -
如何开发线程安全的Servlet
2012-12-16 13:44 655如何开发线程安全的Servlet 先说明几个概念:工作者 ... -
POI经常使用的API
2012-12-13 10:42 705转载自:http://hi.baidu.com/sole ... -
在oracle中取出某列中为数字的数据
2012-11-16 17:30 1335假设test表中存在name字段 CREATE OR REP ... -
spring2.0Bean初始化)
2012-01-02 21:19 667spring2.0Bean初始化) Bean初始化 ... -
Java排序汇总
2011-05-26 01:04 686package com.softeem.jbs.lesson4 ... -
struts2的OGNL应用
2011-04-01 18:09 1063Struts 2中的OGNL 本人是一个EL(Expre ... -
JS获取select的value和text值
2011-03-10 12:36 997<script language="javas ... -
<s:textfield>中使用request范围内值作为默认值问题
2011-02-25 17:22 1439struts2在Action使用模型驱动 publ ... -
Hibernate查询解决方案
2011-01-17 17:08 617第一部分:Hibernate提供 ... -
Windows7下安装Oracle10g
2010-12-15 09:58 878Oracle官方网站上下载10203_vista_w ... -
一个牛人写的Java连接池
2010-11-12 10:36 715package ConnPool; import java. ... -
Java静态代理和动态代理的小例子
2010-11-11 15:57 787Java 静态代理和动态代理 关键字: 静态代理与动态代理 ... -
java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationConte
2010-10-13 10:45 1444HTTP Status 500 - type Except ... -
在使用MyEclipse过程中发现它对于对于Java代码的自动提示功能失灵了,而对于JSP却能正常给出提示
2010-09-28 15:26 1064在使用MyEclipse过程中发现它对于对于Java代码的自动 ... -
myeclipse+vss状态不显示问题
2010-09-27 09:24 1332以前用eclipse3.1 + myeclipse4.x和VS ... -
struts处理多行数据同时提交
2010-08-02 11:09 1125今天遇到提交多行数据问题, 在网上找了一点资料: WEB 应用 ... -
swing的MVC
2010-04-25 21:44 1293说到MVC,大家都知道他是构建GUI的有力模型。不过MVC本身 ...
相关推荐
java swing 笔记
Swing提供了许多常用的GUI组件,如按钮、文本框、标签、列表等,并且支持布局管理器来帮助开发者更方便地布局界面。此外,Swing还提供了一些高级组件,如表格、树状结构等,以及一些特殊效果的组件,如滚动面板、...
手写笔记,事无巨细,但是不太好看,谨慎下载
JAVA图形编程(AWT+SWING),包括AWT和SWING两部分。很不错的学习资料,全面,细致,和大家一起分享。
Swing读书笔记,Swing读书笔记,Swing读书笔记
NULL 博文链接:https://huangrongyou.iteye.com/blog/1610287
Java Swing组件:Jlist学习笔记Java Swing组件:Jlist学习笔记
Java swing 知识总结学习笔记,全面总结了在Java学习中关于Swing的相关知识。
非常有用的学习资料,值得初学者看 对于窗口的设计,都很好
根据java1234.com中学习使用。第一课时 项目架构简单搭建及登录功能实现
自己分析的swing源码实现的笔记,可以浏览下以了解swing开发的思路。
资源名称:Swing入门项目之图书管理系统全程视频实录资源目录:【】[Swing入门级项目全程实录]第1讲(上)【】[Swing入门级项目全程实录]第1讲(下)【】[Swing入门级项目全程实录]第1讲源码与笔记【】[Swing入门级项目...
包括一些swing的基本控件使用以及控件扩展学习。是本人之前的学习笔记。
NULL 博文链接:https://gml520.iteye.com/blog/252858
自己在学Java swing的时候找资源比较费力,经过自己的努力,收集了很多的资源,包括下载地址,常用的书籍,有名的笔记,还有现成的代码等资源,分享给大家
内容包括:j2se语法、循环控制、OOP设计、方法设计、重写、重载、抽象类/方法、接口、异常处理、多线程、swing。以及部分oracle内容。 本笔记是pdf格式,经过我多次排版,结构清晰接近出版物,内容充实,示例...
java study stuff, it s a useful document.
基于java swing的聊天软件,可以支持1000个用户同时在线,实时信息反馈
java的个人笔记,第一手资料来自网络,有原创,有扩展,大多亲自验证。
(十七) Swing 学习笔记 108 Swing API 包括18个公共包: 108 例程1.1 HelloWorldSwing.java 109 例程2.2 HelloWorldJFrame.java 110 (十八) 动态加载文件树的java程序 111 FileSystemTree.java源代码 112 //内部类 ...