上一页 1 ··· 299 300 301 302 303 304 305 306 307 ··· 329 下一页
摘要: 6.2 使用弹出菜单:Popup类并不是我们希望弹出的所有内容都需要是一个菜单。通过Popup与PopupFactory类,我们可以在其他的组件上弹出任何组件。这与工具提示不同,工具提示是只读的不可选择的标签。我们可以弹出可选择的按钮,树或是表。 6.2.1 创建弹出组件Popup是一个具有两个方法hide()与show()的简单类,同时具有两个受保护的构造函数。我们并不能直接创建Popup对象,而是需要由PopupFactory类获取。PopupFactory factory = PopupFactory.getSharedInstance();Popup popup = factory.g 阅读全文
posted @ 2011-04-08 12:36 jlins 阅读(836) 评论(0) 推荐(0) 编辑
摘要: 6.1.8 JCheckBoxMenuItem类 Swing的JCheckBoxMenuItem组件的行为类似于我们将一个JCheckBox作为一个JMenuItem放置在菜单上。菜单项的数据模型是ToggleButtonModel,我们在第5章进行了描述。他可以使得菜单项具有选中或是未选中状态,同时显示合适的状态图标。因为数据模型是ToggleButtonModel,当JCheckBoxMenuItem位于一个ButtonGroup中时,该组中只有一个JCheckBoxMenuItem可以被选中。然而,这并不是JCheckBoxMenuItem的通常使用方法,并且很可能会迷惑用户。如果我们. 阅读全文
posted @ 2011-04-07 12:52 jlins 阅读(3155) 评论(0) 推荐(0) 编辑
摘要: 6.1.6 JSeparator类JSeparator类是一种特殊的组件,他在JMenu上提供分隔符。JPopupMenu与JToolBar类也支持分隔,但是每一个都使用JSeparator类的相应子类。除了可以放置在菜单上以外,JSeparator类也可以放置在任何我们希望使用水平或是垂直线来分隔屏幕不同区域的地方。 JSeparator是一个严格的可视化组件,所以,他没有数据模型。 创建JSeparator组件 要为菜单创建一个分隔,我们并不直接创建一个JSeparator,尽管我们可以这样做。相反,我们调用JMenu的addSeparator()方法,而菜单会创建分隔符并将其添加为下一个 阅读全文
posted @ 2011-03-29 12:44 jlins 阅读(1665) 评论(0) 推荐(1) 编辑
摘要: 6.1.4 JMenuItem类JMenuItem组件是用户可以在菜单栏上选择的预定义组件。作为AbstractButton的子类,JMenuItem是一个特殊的按钮组件,其行为类似于JButton。除了作为AbstractButton的子类,JMenuItem类共享JButton的数据模型(ButtonModel接口与DefaultButtonModel实现)。创建JMenuItem组件JMenuItem有六个构造函数。这些构造函数可以使得我们初始化菜单项的字符串或是图标以及菜单项的热键。并不存在显式的构造函数允许我们在创建时设置所有三个选项,除非我们将其作为Action的一部分。publi 阅读全文
posted @ 2011-03-28 13:00 jlins 阅读(2109) 评论(0) 推荐(0) 编辑
摘要: 本书的前面两章描述了一些低级的Swing组件。本章将会深入Swing面向菜单的组件。菜单与工具栏通过提供一些可视化的命令选项可以使得我们的程序更为友好。尽管Swing组件可以支持多个按键的命令序列,菜单被设计用来提供使用鼠标的图形化选择,而不是通过键盘。 本章将要讨论的菜单组件的使用如下: 对于级联菜单,我们可以创建一个JMenu组件,并将其添加到JMenuBar。 对于JMenu中的可选菜单,我们可以创建一个JMenuItem组件,并将其添加到JMenu。 要创建子菜单,我们可以向JMenu添加一个新的JMenu,并向新菜单添加JMenuItem选项。 然后,当一个JMenu被选中时,系统会 阅读全文
posted @ 2011-03-26 18:10 jlins 阅读(4671) 评论(0) 推荐(0) 编辑
摘要: 5.5 JRadionButton类当我们希望创建一个相斥的可切换组件组时我们可以使用JRadioButton。尽管由技术上来说,我们可以将一组JCheckBox组件放在一个ButtonGroup中,并且每次只有一个可以选中,但是他们看起来并不正确。至少由预定义的观感类型来看,JRadioButton与JCheckBox组件看起来是不同的,如图5-10所示。这种外观上的区别可以告诉终端用户可以期望组件的特定行为。 JRadioButton是由几方面构成的。类似于JToggleButton与JCheckBox,JRadioButton也使用一个ToggleButtonModel来表示其数据模型。 阅读全文
posted @ 2011-03-24 12:32 jlins 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 5.4 JCheckBox类JCheckBox类表示切换组件,在默认情况下,这个组件在接近文本标签处显示了一个复选框图标,用于两状态选项选择。复选框使用一个可选的复选标记来显示对象的当前状态,而不是如JToggleButton保持按钮按下状态。对于JCheckBox,图标显示了对象的状态,而对于JToggleButton,图标则是标签的一部分,通常并不用于显示状态信息。JCheckBox与JToggleButton之间除了UI相关部分不同外,这两个组件是相同的。图5-5演示了在一个匹萨预定程序中复选框的样子。 JCheckBox是由几部分构成的。与JToggleButton类似,JCheck. 阅读全文
posted @ 2011-03-21 19:29 jlins 阅读(327) 评论(0) 推荐(1) 编辑
摘要: 5.3 JToggleButton类JToggleButton是第一个可切换的组件。首先讨论JToggleButton类是因为他是其他们非面向菜单的组件,JCheckBox与JRadioButton,的父类。JToggleButton类似于JButton,当被选中时处理按下状态,相反则会返回到未选中状态。要取消被选中的组件,我们必须重新选择该组件。JToggleButton并不是一个被广泛使用的组件,但是我们会发现在工具栏上这个组件会非常有用,例如在Microsoft Word中或是在一个文件对话奇巧事,如图5-2所示。 定义JToggleButton结构是两个自定义AbstractButt. 阅读全文
posted @ 2011-03-21 12:49 jlins 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 现在我们已经了解了相对简单的Swing组件JLabel与JButton的功能,现在我们来了解一些更为活跃的组件,特别是这些可以切换的组件。这些称之为可切换的组件-JToggleButton,JCheckBox与JRadioButton-为我们的用户提供了由一个选项集合中进行选择的方法。这些选项或者是打开,或者是关闭的,或者是允许,或者是禁止的。当表示在一个ButtonGroup中时,每次组中只有一个选项可以被选中。为了处理选中状态,组件与ToogleButtonModel共享一个共同的数据模型。下面我们来了解一下数据模型,使用ButtonGroup的组件组合机制,以及单个的组件。 5.1 To 阅读全文
posted @ 2011-03-19 14:34 jlins 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 4.7 JPanel类最后一个基本的Swing组件是JPanel组件。JPanel组件可以作为一个通常目的的窗口对象,替换了AWT的Panel窗口,而当我们需要一个可绘制的Swing组件区域时,JPanel替换了Canvas组件。 4.7.1 创建JPanelJPanel有四个构造函数: public JPanel()JPanel panel = new JPanel(); public JPanel(boolean isDoubleBuffered)JPanel panel = new JPanel(false); public JPanel(LayoutManager manager)JP 阅读全文
posted @ 2011-03-17 18:57 jlins 阅读(341) 评论(0) 推荐(0) 编辑
上一页 1 ··· 299 300 301 302 303 304 305 306 307 ··· 329 下一页