SWING概览·SWING开发工具、流程、发布·网络连接Socket和ServerSocket·Mina简介·黑白棋从规则到思路·迷你浏览器的思路今晚要点第一讲:JavaSwing组件技术在本单元您能了解如下知识点:Swing的“外观和感觉”;Swing容器组件的编程;Swing中的标准对话框;Swing基本组件的编程;Swing的编程具体应用—设计出文本编辑器一、JavaSwing组件技术简介Swing特性:是AWT的扩展,它比AWT提供了更多的组件和外观。是Sun公司的新一代的图形界面的标准。
采用Swing编写窗口程序;<br> 如何在窗口中采用多种字体显示文本;<br> 如何显示图像;
本章继续介绍抽象窗口工具包(AWT)。在这里我们将要学习Java定义的标准控件和布局管理器,讨论菜单和菜单栏,以及两个高级组件:对话框和文件对话框。同时,还要介绍事件处理。控件(controls)是允许用户同你的应用程序用各种方式进行交互的组件,例如,一个常用的控件是下压式按钮。布局管理器自动安排组件在容器中的位置。
在开始学习 Swing 之前,必须回答针对真正初学者的一个问题:什么是 UI?初学者的答案是“用户界面”。但是因为本教程的目标是要保证您不再只是个初学者,所以我们需要比这个定义更高级的定义。
在开始学习 Swing 之前,必须回答针对真正初学者的一个问题:什么是 UI?初学者的答案是“用户界面”。但是因为本教程的目标是要保证您不再只是个初学者,所以我们需要比这个定义更高级的定义。
BorderLayout 是WindowFrame和Dialog的缺省布局管理器。BorderLayout布局管理器把容器分成5个区域NorthSouthEastWest和Center每个区域只能放置一个组件。
Java提供的JFrame类的实例是一个底层容器,即通常所称的窗口。其他组件必须被添加到底层容器中,以便借助这个地层容器和操作系统进行信息交互。JFrame类是Container类的间接子类。当需要一个窗口时,可使用JFrame或其子类创建一个对象。
Swing 是 Java 平台的 UI —— 它充当处理用户和计算机之间全部交互的软件。它实际上充当用户和计算机内部之间的中间人。Swing 到底是如何做这项工作的呢?它提供了处理前面一节中描述的 UI 各方面内容的机制
Swing组件是Java语言提供的第二代GUI设计工具包,它以AWT为基础,在AWT内容的基础上新增或改进了一些GUI组件,使得GUI程序功能更强大,设计更容易、更方便。"Swing"是开发新组件的项目代码名,现在,这个名字常用来引用新组件和相关的API。AWT组件和对应的Swing组件,从名称上很容易记忆和区别。例如,AWT的框架类、面板类、按钮类和菜单类,被命名为Frame、Panel、Button和Menu,而Swing对应的组件类被命名为JFrame、JPanel、JButton和JMenu。与AWT组件相比,Swing组件的名前多一个 “J” 字母。另外,AWT 组件在java.awt包中,而Swing组件在javax.swing包中。
JTable只是一个界面,主要负责显示功能,但JTable对象具体显示多少行多少列,甚示每行每列中显示什么类型的数据,JTable中的单元格是否可编辑,编辑之后怎么办…关于数据提供和数据操作的实现,都是由这个JTable对象的TableModel对象所负责的;反向而言,当JTable对象界面的数据被改动时,JTable会自动调用自己模型中的方法将改动反映到模型中。
首先,我们学习一些基本的图形编程知识,包括窗口的显示及外观设置、在窗口中显示文字和图像等; 接下来,介绍Java的事件处理机制,例如如何在程序中接收并处理如键盘按键和鼠标点击等“事件”; 最后,系统地介绍图形用户界面中常用组件的用法,如布局管理器、文本框、复选框、菜单、对话框等。
抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立图形用户界面GUI (Graphics User Interface)工具集,AWT可用于Java的applet和applications中。它支持图形用户界面编程的功能包括: 用户界面组件;事件处理模型;图形和图像工具,包括形状、颜色和字体类;布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关;数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。
在开始学习Swing之前,必须回答针对真正初学者的一个问题:什么是UI?初学者的答案是“用户界面”。但是因为本教程的目标是要保证您不再只是个初学者,所以我们需要比这个定义更高级的定义。
SAF能做什么?1.管理窗口的启动和关闭,对整个窗体进行管理。其中继承SingleFrameApplication类就不需要手动设置窗体的位置和大小,程序会自动记住上次打开窗体的位置和大小。如果需要手动设置窗体的屏幕位置或大小,就继承application类即可。
Swing应用程序中线程介绍,一个Swing程序中一般有下面三种类型的线程:<br> 1、初始化线程(InitialThread)<br> 2、UI事件调度线程(EDT,EventDispatchThread)<br> 3、任务线程(WorkerThread)<br> 每个程序必须有一个main方法,这是程序的入口。该方法运行在初始化或启动线程上。初始化线程读取程序参数并初始化一些对象。在许多Swing程序中,该线程主要目的是启动程序的图形用户界面(GUI)。一旦GUI启动后,对于大多数事件驱动的桌面程序来说,初始化线程的工作就结束了。
Swing 的MVC结构、树的概念、树组件JTree的使用、表格组件JTable的使用。
一个好的用户界面(GUI)的设计通常可以在现实世界找到相应的表现。例如,如果在您的面前摆放着一个类似于电脑键盘按键的一个简单的按钮,然而就是这么简单的一个按钮,我们就可以看出一个GUI设计的规则,它由两个主要的部分构成,一部分使得它具有了按钮应该具有的动作特性,例如可以被按下。另外一部分则负责它的表现,例如这个按钮是代表了A还是B。 看清楚这两点你就发现了一个很强大的设计方法,这种方法鼓励重用reuse,而不是重新设计redesign。你发现按钮都有相同的机理,你只要在按钮的顶上喷上不同的字母便能制造出“不同”的按钮,而不用为了每个按钮而重新设计一份图纸。这大大减轻了设计工作的时间和难度。 如果您把上述设计思想应用到软件开发领域,那么取得相似的效果一点都不让人惊奇。一个在软件开发领域应用的非常广泛的技术Model/View/Controller(MVC)便是这种思想的一个实现。
Swing组件的paint方法是内部接口方法,一般用户不要直接调用这个方法,它总是在事件调度线程中调用。一般说来除了系统刷新事件触发这个方法,Component的repaint也触发这个方法的调用。repaint方法常用于当组件状态发生变化时刷新界面使用。repaint方法是Swing中少数几个线程安全的方法,可以在任何线程中调用它。它的原理是往事件队列中post一个PAINT事件。由于事件队列的事件是被事件调度线程同步执行的,所以这个方法总是线程安全的。事件调度线程从PAINT事件中获取事件源组件,从系统申请到图形设备资源后,调用该组件的update方法。update是AWT时代遗留下来的产物,本意是AWT组件画好组件背景后,再调用paint方法画出组件的前景。Swing出现后这个方法就被弃用了,所有逻辑都转到paint方法里。Update只是简单地调用paint方法来完成组件的渲染。老的Java教材上经常可以看到,所谓repaint调度update方法,update接着调用paint方法,自定义组件需要重载paint方法等话语,就是因为这个历史造成的。
Java Swing控件属性归纳总结了解各种用户界面组件:JButton、JLabel、JTextField、JTextArea、JComboBox、Jlist、JCheckBox、JRadioButton、JMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem、JRadioButtonMenuItem、JScrollBar、JScrollPane、JTabbedPane等。