上一页 1 ··· 300 301 302 303 304 305 306 307 308 ··· 329 下一页
摘要: 4.6 JButton类JButton组件是可以被选中的最基本的AbstractButton组件。他支持文本,图像以及基于HTML的标签,如图4-12所示。4.6.1 创建JButtonJButton类具有5个构造函数:public JButton()JButton button = new JButton(); public JButton(Icon image)Icon icon = new ImageIcon("dog.jpg");JButton button = new JButton(icon); public JButton(String text)JButto 阅读全文
posted @ 2011-03-16 18:55 jlins 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 4.5 AbstractionButton类如图4-1所示,AbstractButton类是作用在幕后作为所用 的Swing按钮组件的一个重要Swing类。在本章稍后的JButton类中所描述的JButton是最简单的子类。其余的子类将会在后续的章节中进行描述。 所有的AbstractButton子类使用ButtonModel接口来存储数据模型。DefaultButtonModel类是所使用的默认实现。另外,我们可以将任意的AbstractButton对象组合为一个ButtonGroup。尽管这种组合对于JRadioButton与JRadioButtonMenuItem组件最为自然,然而任意的 阅读全文
posted @ 2011-03-16 12:38 jlins 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 4.4 Icon接口Icon接口用来将图标与各种组件相关联。一个图标可以是简单的绘画或者是使用ImageIcon类由磁盘所载入的GIF图像。这个接口包含描述尺寸的两个属性以及一个用来绘制图标的方法。 public interface Icon { // Properties public int getIconHeight(); public int getIconWidth(); // Other methods public void paintIcon(Component c, Graphics g, int x, int y);}4.4.1 创建图标图标的创建非常简单,只需... 阅读全文
posted @ 2011-03-15 18:19 jlins 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 4.3 JLabel类我们要近距离查看的第一个真正的Swing组件就是最简单的JLabel。JLabel用作AWT Label的替换组件,但是所能做的事情更多。AWT Label仅限制为单行文本,JLabel可以是文本,图片,或者是两者都有。文本可以是单行文本也可以是HTML文本。另外,JLabel可以支持不同的允许与禁止的图片。图4-6显示了一些示例JLabel组件。 4.3.1 创建JLabelJLabel有6个构造函数: public JLabel()JLabel label = new JLabel(); public JLabel(Icon image)Icon icon = ne. 阅读全文
posted @ 2011-03-15 12:25 jlins 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 4.2 JToolTip类Swing组件支持当光标停留在其上时显示简短的弹出信息的功能。用来显示弹出信息的类就是JToolTip。4.2.1 创建JToolTip调用JComponent的public void setToolTipText(String text)方法可以使得当鼠标停留在一个安装了弹出信息的组件上时自动创建JToolTip实例。我们通常并不直接调用JToolTip构造函数。只有一个构造器,而他是无参数的变体。工具提示的文本通常只是一行的长度。然而,如果文本字符串以开头(在许多情况下如此),那么文本的内容可以任意的HTML 3.2格式化文本。例如,下面的代码使得弹出信息如图4- 阅读全文
posted @ 2011-03-14 12:29 jlins 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 在第3章,我们简要介绍了JFC/Swing工程组件所用的Model-View-Controller(MVC)模式。在本章中,我们将会开始探讨如何使用许多可用组件中的关键部分。 所有的Swing组件都是以JComponent类为起点的。尽管Swing库的某些部分并不以JComponent类为根,但所有的组件在其继承的某些级别上共享JComponent类作为通用父类。JComponent类定义通用的行为与属性。在本章中,我们将会了解一些通用功能,例如组件绘制,自定义义,工具提示以及变化大小。 随着特定JComponent子孙类被关注 ,我们将会特别了解JLabel,JButton以及JPanel, 阅读全文
posted @ 2011-03-12 16:43 jlins 阅读(1603) 评论(0) 推荐(0) 编辑
摘要: 第2章探讨了如何处理Swing组件的事件生产者与消费者。我们了解了Swing组件的事件处理如何超出原始的AWT组件的事件处理功能。在本章中,我们会进一步深入Swing组件设计,来探讨称之为Model-View-Controller(MVC)的体系地构。 3.1 理解MVC流在1980年后首次被引入Smalltalk后,MVC体系结构是第2章所描述的观察者模式的一种特殊形式。MVC的模型部分存放组件的状态,并且用作Subject。MVC的视图部分用作Subject的观察者来显示模型状态。视图创建控制器,其中定义了用户界面如何响应用户输入。 3.1.1 MVC通信图3-1显示MVC元素如何进行通信 阅读全文
posted @ 2011-03-10 19:40 jlins 阅读(974) 评论(0) 推荐(0) 编辑
摘要: 2.3 Swing特定的事件处理请记住,Swing组件是构建在AWT库之上的,Swing组件库具有一些改进的功能从而使得事件处理更为简单。功能改进覆盖AWT核心事件处理特性之上,由基本的动作监听到焦点管理。 为了简化事件处理,Swing库使用Action接口扩展了原始的ActionListener接口来存储具有事件处理器的可视属性。这使得事件处理器的创建独立于可视化组件。然后,当Action在稍后与一个组件相关联时,组件直接由事件处理器自动获取信息(例如按钮标签)。这包括当Action被修改时更新标签的通知。AbstractAction与TextAction类实现了这个概念。 Swing库同时 阅读全文
posted @ 2011-03-10 12:40 jlins 阅读(887) 评论(0) 推荐(0) 编辑
摘要: 2.2.4 Timer类除了EventQueue的invokeAndWait()与invokeLater()方法外,我们还可以使用Timer类来创建在事件分发线程上执行的动作。Timer提供了一种在预定义的时间之后通知ActionListener的方法。计时器可以重复通知监听吕在,或者是只通知一次。 创建计时器对象 下面是用于创建在ActionListener调用之间指定毫秒时延的Timer的构造器: public Timer(int delay, ActionListener actionListener);// 1 second intervalTimer timer = new Time 阅读全文
posted @ 2011-03-09 22:59 jlins 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 2.2.3 管理监听器列表如果我们正在创建我们自己的组件并且希望这些组件触发事件,我们需要维护一个要通知的监听器列表。如果监听器列表是用于AWT事件的,我们可以使用AWTEventMulticaster类用于列表管理。对于Swing库而言,如果事件并不是一个预定义的AWT事件类型,我们需要自己管理监听器列表。通过使用javax.swing.event包中的EventListenerList类,我们不再需要手动管理监听器列表,也无需担心线程安全。而且如果我们需要获取监听器列表,我们可以通过public EventLIstener[] getListener(Class listenerType) 阅读全文
posted @ 2011-03-09 13:03 jlins 阅读(326) 评论(0) 推荐(0) 编辑
上一页 1 ··· 300 301 302 303 304 305 306 307 308 ··· 329 下一页