自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(315)
  • 收藏
  • 关注

翻译 可访问性

Swing框架的一个标准部分就是对于辅助技术的支持。这些技术使得我们的Swing程序可以为具有身体缺陷的人所使用。一些用户需要屏蔽阅读器,声音或是不需要鼠标的输入模式。无鼠标的输入通常是通过键盘实现的,但是也可能是通过特殊的输入设置实现,例如语音设备。用户并不需要具有身体缺陷来体验作为开发者的我们可以用来使得我们的程序更容易访问的选项。例如,我们可以添加工具提示文本,当用户将鼠标放置在组件上时可以

2013-01-07 18:53:03 1175 1

翻译 Undo框架(三)

21.5 使用外部对象管理Undo状态在前面的示例中,我们自定义的UndoableEdit实现要负责维护可撤销对象的之前与之后状态。Swing Undo框架同时支持使用可撤销编辑实现之外的对象来管理状态的能力。当使用一个外部对象用于状态管理时,我们并不需要实现UndoableEdit接口。相反,我们可以使用StateEdit类作为UndoableEdit实现。然后StateEdit类依赖一个类实现

2012-12-29 18:59:45 1009

翻译 Undo框架(二)

21.4 Undo框架组件我们已经实际了解了Swing文本组件中的Undo框架并且审视了Command设计模式。下面我们来了解一下框架的单独部分。21.4.1 UndoableEdit接口第一个Undo框架组成部分就是UndoableEdit接口,其定义如下:public interface UndoableEdit { // Properties public String getPre

2012-12-29 18:57:28 1337

翻译 Undo框架(一)

在第20章中,我们通过探讨可插拨的观感体系结构支持了解了如何自定义基于Swing的程序。在本章中,我们将会探讨由作为Swing包一部分的JFC所提供的Undo框架。Sun的Swing包包含一个支持我们程序中撤销操作支持的实用程序。他允许我们支持修改我们数据状态的撤销与重做操作。尽管这个框架是Swing包层次结构的一部分,他却可以用在任意的程序中,而不仅是基于组件的程序。21.1 使用Undo框架U

2012-12-28 11:35:04 1190

翻译 可插拔的观感体系结构(二)

20.2 创建新的观感除非公司要求我们自定义所有的内容来提供唯一的体验,通常并不需要从头创建一个完整的新观感。通常,开发者通过提供一些自定义的UI委托来对现在的观感进行小量的修改。然而如果我们确实希望创建一个新的观感类,我们只需要创建一个LookAndFeel类的子类。我们仍然必须提供UI委托,但是现在这些类可以由Swing组件隐藏,因为他们的使用将并不会直接为javax.swing组件类所知。2

2012-12-21 20:50:12 1509 1

翻译 可插拨的观感体系结构(一)

在第19章中,我们探讨了Swing的拖放支持。在本章中,我们将会深入我们使用Swing组件库时可用的可插拨的观感体系结构。Swing组件的所有方面都是基于Java的。所以不存在原生代码,AWT组件集合也是如此。如果我们不喜欢组件的方式,我们可以对其进行修改,并且我们可以有多种实现方法。抽象的LookAndFeel类是特定观感的根类。每一个可安装的观感类,正如UIManager.LookAndFee

2012-12-09 12:06:56 1893

翻译 拖放支持

拖放支持允许在一个程序中或是屏幕上的某个区域中高亮显示某些内容,选中他,并将其重新分配到另一个程序或是屏幕上的某个区域中。例如,在Microsoft Word中,我们可以选中一段并拖动到一个新位置。随着Java的发展,在新版本中不仅有打印支持,同时也有拖放支持。拖放支持的最主要变化发生在J2SE 1.4版本中。以前版本中的拖放支持极难使用,特别是对于复杂类型的拖放行为更是如此。JDK 5.0版本添

2012-12-06 21:48:39 1569

翻译 Tables(三)

18.5 JTableHeader类每一个JTableHeader实例表示所有不同列的头集合中的一个。JTableHeader对象集合放置在JScrollPane中列头视图中。我们很少需要直接使用JTableHeader。然而我们可以配置列头的某些特征。18.5.1 创建JTableHeaderJTableHeader有两个属性。一个使用默认的TableColumnModel,而另一个需要显式指定

2012-11-18 21:35:36 1645 1

翻译 Tables(二)

18.3 TableMode接口现在我们已经了解了JTable组件的基础,现在我们可以了解其内部是如何管理数据元素的了。他是借助于实现了TableModel接口的类来完成的。TableModel接口定义了JTable查询列头与表格单元值,并且当表格可编辑时修改单元值所需要的框架。其定义如下:public interface TableModel { // Listeners public

2012-11-18 09:14:05 2210

翻译 Tables(一)

在第17章中,我们深入了解了Swing的JTree组件。在本章中,我们将会探讨JTable组件的细节。该组件是用于以网络的形式显示二维数据的标准Swing组件。18.1 Intoducing Tables图18-1显示了JTable的一个简单示例。我们可以看到这个示例包含日本字体。为了能够看到本章示例程序中的Kanji表意文字,我们需要安装必须的日本字体。然而,在没有配置我们的环境来显示日本字体的

2012-11-17 16:58:55 2001 1

翻译 树(三)

17.6 TreeModel接口TreeModel接口描述了基本的JTree数据模型结构。他描述了父子聚合关系,允许任何的对象成为父节点或是子节点。树有一个根节点,而所有其他的节点都是这个节点的后代。除了返回关于不同节点的信息以外,模型要求实现类管理TreeModelListener对象列表,从而当模型中的节点发生变化时可以得到通知。其他的方法,valueForPathChanged(),用来提供

2012-11-11 09:34:02 1076

翻译 树(二)

17.4 编辑树节点除了支持单个的树单元渲染器,JTree组件还可以是可编辑的,从而以许用户修改树的节点的内容。默认情况下,树是只读的。要使得树成为可编辑的,只需要将editable属性设置修改为true即可:aTree.setEditable(true);默认情况下,编辑器是一个文本域。同时对由组合框或是复选框中选择也具有内建支持。如果我们喜欢,我们可以为树创建一个自定义的编辑器,就像我们可以创

2012-11-10 09:28:53 1974 1

翻译 树(一)

在第16章中,我们了解了如何使用Swing组件集合中的文本文档功能。在本章中,我们将会了解如何使用Swing树类,JTree组件。17.1 树简介JTree组件是用于显示层次数据元素的可视化组件,也称之为节点。使用树这个隐喻,可以想像一棵倒长的树。树顶部的节点称之为根。树的根节点的扩展是到其他节点的分支。如果节点没有任何由其展开的分支,这个节点就称之为叶节点。图17-1是一棵简单的树。在JTree

2012-11-03 11:19:43 1817 4

翻译 高级文本功能(三)

16.3 The Editor Kits我们已经概略的看到了本章前面所介绍的TextAction对象的一些默认的EditorKit功能。EditorKit类扮演将文本组件的所有不同方面组合在一起的粘合剂。他创建文档,管理动作,并且创建文档或是视图的可视化表示。另外,EditorKit知道如何读取或是写入流。每一个文档类型需要其自己的EditorKit,所以JFC/Project Swing组件为H

2012-10-28 15:04:28 1620

翻译 高级文本功能(二)

16.2 Creating Styled Text在第15章中,我们已经了解了显示了普通文本与HTML。通过Swing文本组件-或者至少是JTextPane-我们也可以显示格式化文本,其中不同的文本块可以具有多种属性。这些属性也许包含粗体,斜体,不同的字体或是字符级别的颜色,或者是段落级别的对齐,就如现现代的字处理软件一样。要支持这些功能,Swing提供了许多不同的接口与类,所有这些接口与类以特殊

2012-10-28 14:53:55 2452

翻译 高级文本功能(一)

在第15章中,我们介绍了Swing文本组件的各种功能。在本章中,我们将会通过在了解在特殊情况下证明有用的高级功能来继续我们的探讨。Swing文本组件带有许多预定义的功能。例如,正如我们在第15章中看到的,尽管文本组件具有如cut(),copy()与paste()方法来使用系统剪切板,但是事实上我们并不使用这些方法。这是因为Swing文本组件带有他们自己预定义的Action对象集合,我们将会在本章中

2012-10-10 22:37:11 1523

翻译 基本文本组件(三)

15.4 JPasswordField类JPasswordField组件被设计用来处理密码输入。密码文本域会显示一个特殊的输入掩码,而不会回显用户的输入。其作用类似于具有*输入掩码的JTextField。我们不能取消掩码设置,也不能剪切或是复制密码组件的内容。其目的就是为了强强安全性。15.4.1 创建JPasswordField与JTextField相同,JPasswordField类有五个构造

2012-10-07 12:43:09 2612 1

翻译 基本文本组件(二)

15.3 JTextField类JTextField组件是用于单行输入的文本组件。JTextField的数据模型是Document接口的PlainDocument实现。PlainDocument模型将输入限制为单属性文本,意味着他必须是单一字体与单一颜色。当在JTextField输入Enter键时,他自动通知所Actionlistener实现。15.3.1 创建JTextFieldJTextFie

2012-09-22 14:14:39 2388

转载 ubuntu 12.04系统托盘不显示ibus输入法图标的解决方法

很简单,在终端运行下述命令,然后注销并重新登录即可。gconftool --type boolean -s /desktop/ibus/panel/show_icon_on_systray truegconftool --type boolean -s /desktop/ibus/panel/show truegsettings set com.canonical.Unity.Panel sy

2012-09-15 21:15:21 2105 1

翻译 基本文本组件(一)

第14章探讨了Swing组件集合的JSpinner所提供的动态输入选择控件。在本章中,我们将会了解Swing基本文本组件的基本功能。更为高级的文本组件将会下一章中进行探讨。Swing组件集合包含五个文本组件。他们共享一个共同的父类,JTextComponent,其中定义了所有的文本组件的更同行为。JTextComponent的直接子类是JTextField,JTextArea以及JEditorPa

2012-09-01 19:39:32 1547 1

翻译 Spinner Model Controls(三)

14.4 JSpinner编辑器对于每一个JSpinner可用的模型,都有一个附属支持的JSpinner内联类可用。在其中模型允许我们控制对于组件哪些可以选择,微调编辑器允许我们控制如何显示与编辑每一个可选中的值。14.4.1 JSpinner.DefaultEditor类JSpinner的setEditor()方法允许我们使得任意的JComponent作为JSpiner的编辑顺。虽然我们一定可以

2012-07-10 19:37:18 1148

翻译 Spinner Model Controls(二)

14.2 SpinnerModel接口到目前为止,我们已经了解了如何与主JSpinner类交互。SpinnerModel接口是组件的数据模型。SpinnerModel的定义如下:public interface SpinnerModel { // Properties public Object getValue(); public void setValue(Object); p

2012-07-10 19:33:17 1378

翻译 Spinner Model Controls(一)

在前一章中,我们了解了如何使用基本的列表组件:JList与JComboBox。在本章中,我们将会开始探讨JDK 1.4版本所引入的JSpinner组件。14.1 JSpinner类JSpinner的作用类似于JList或是JComboBox组件与JFormattedTextField的结合。在JList与JComboBox控件中,用户可以由一个预定义的值集合中选择输入。JSpinner允许这种选择

2012-07-10 19:19:40 958

翻译 List Model Controls(三)

13.3 JComboBox类Swing组件集合的JComboBox组件是一个多部分组件,允许用户借助于下拉列表由一个预定义的选项集合中进行选择。在其基本配置中,JComboBox类似于JLabel来显示当前的用户选择。嵌入在JLabel中的一个包含在JList控件中选择的弹出菜单。当所需要选项不可用时,JComboBox可以使用JTextField来输入新的选项。当需要时,JList部分会自被嵌

2012-07-01 10:01:26 1359 1

翻译 List Model Controls(二)

13.2 JList类JList组件是用于由一个选项集合中选择一个或多个项目的基本Swing组件。我们向用户展示选项列表,依据于组件的选择模式,用户可以选择一个或多个。三个关键元素及其实现定义了JList结构:用于存储JList数据的数据模型,由ListModel接口定义。用于绘制JList的单元渲染器,由ListCellRenderer接口描述。用于选择JList元素的选择模式,由ListSel

2012-05-24 19:22:56 3888 2

翻译 List Model Controls(一)

12章探讨了支持滚动与输入或是显示某些边界范围值的边界范围组件。在本章中,我们将会探讨表示选项列表的两个选择控件:JList与JComboBox。这两个组件之间的主要区别在于JList组件支持多项选择,而JComboBox不支持。同时,JComboBox允许用户提供不在可用选项中的选项。 13.1 ListModel接口图13-1显示了在本章中我们将要探讨的两个控件。这两个组件之间所共享的数据模型

2012-05-03 19:15:12 3213

翻译 Bounded Range Components(二)

12.4 JSlider类尽管JScrollBar对于屏幕滚动区域十分有用,但是他并不适用于使得用户在一个范围内进行输入。对于这个目的,Swing提供了JSlider组件。除了提供了类似JScrollBar组件所提供的可拖动滑块以外,JSlider同时提供了可视化的标记以及标签来辅助显示当前的设置并且选择新的设置。图12-5显示了几个JSlider组件的示例。JSlider是由几部分组成的。我们所

2012-04-27 18:53:26 1174

翻译 Bounded Range Components(一)

在前面的章节中,我们了解了当在屏幕没有足够的空间显示完整的组件时,JScrollPane如何提供了一个可滚动的区域。Swing同时提供了其他的一些支持某种滚动类型或是边界范围值显示的组件。这些可用的组件有JScrollBar,JSlider,JProgressBar,以及更为有限角度的JTextField。这些组件共享BoundedRangeModel作为他们的数据模型。Swing类所提供的这种数

2012-04-26 19:10:51 1230

翻译 高级Swing容器(三)

11.5 JViewport类JViewport很少在JScrollPane之外使用。通常情况下他位于JScrollPane的中间并且使用ViewportLayout管理器来响应在小空间内显示大Component的定位请求。除了位于JScrollPane的中间以外,JViewport也可以用于JScrollPane的行头与列头。11.5.1 创建JViewportJViewport只有一个无参数的

2012-04-22 18:44:15 2617

翻译 高级Swing容器(二)

11.3 JTabbedPane类JTabbedPane类表示曾经流行的属性页来支持在一个窗口中多个容器的输入或输出,其中每次只显示一个面板。使用JTabbedPane类似于使用CardLayout管理器,所不同的是添加到修改内建卡片的支持。然而CardLayout是一个LayoutManager,而JTabbedPane是一个完全功能的Container。如果我们不熟悉属性页,标签对话框或是标签

2012-04-22 18:39:51 4999

翻译 高级Swing容器(一)

第10章探讨了AWT与Swing中的布局管理器。在本章中,我们将会了解一些构建在这些布局管理器之上的容器以及其他的一些无需布局管理器的容器。我们的探讨由Box类开始,我们将会发现使用BoxLayout管理器来创建一个单行或单列组件的最好方法。接下来我们会了解JSplitPane容器,他类似于其中只有两个组件的特殊的Box。JSplitPane提供了一个分隔栏,用户可以拖动这个分隔栏来调整组件的大小

2012-04-13 18:51:32 2230

翻译 布局管理器(二)

10.7 CardLayout类CardLayout布局管理器与其他的布局管理器十分不同。其他的布局管理器尝试一次显示容器中的所有组件,而CardLayout一次只显示一个组件。这个组件可以是一个组件或是一个容器,而后者会让我们看到布局在基于嵌入容器的布局管理器之上的多个组件。现在可以使用JTabbedPane组件了(会在下一章描述),CardLayout很少使用。10.8 BoxLayout类S

2012-04-11 18:42:46 1366

翻译 布局管理器(一)

在第9章中,我们了解了Swing组件集合中的各种弹出窗口以及选择器类。在本章中,我们将会了解AWT与Swing布局管理器。然而由于本书关注于Swing组件集合,我们不能仅是简单的使用。我们需要理解AWT与Swing布局管理器。事实上,比起五个Swing布局管理器中的三个,我们更经常使用的是五个AWT布局管理器中的四个。AWT布局管理器是FlowLayout,BorderLayout,GridLay

2012-04-10 19:12:48 1451

翻译 弹出窗口与选择器(五)

9.5 JFileChooser类Swing组件集合同时提供了用于选择文件名字与目录的选择器:JFileChooser类。这个选择器替换了原始AWT组件集合中使用FileDialog的需要。类似于其他的Swing选择器组件,JFileChooser并没有自动被放入一个弹出窗口中,但是他可以放在我们程序中用户界面的任何地方。图9-25显示了一个具有Metal观感,Ocean主题的JFileChoos

2012-03-05 22:52:31 3119 4

原创 Hello Wordpress

http://mylxiaoyi.wordpress.com

2011-12-24 08:38:37 675

翻译 弹出窗口与选择器(五)

9.5 JFileChooser类Swing组件集合同时提供了用于选择文件名字与目录的选择器:JFileChooser类。这个选择器替换了原始AWT组件集合中使用FileDialog的需要。类似于其他的Swing选择器组件,JFileChooser并没有自动被放入一个弹出窗口中,但是他可以放在我们程序中用户界面的任何地方。图9-25显示了一个具有Metal观感,Ocean主题的JFileChoos

2011-11-05 23:15:26 71

翻译 弹出窗口与选择器(四)

9.4 JColorChooser类我们可以将JColorChooser认为是一个只可以输入的JOptionPane,其输入域要求我们选择一种颜色。与JOptionPane类似,JColorChooser也仅是位于窗口中的一堆组件,而并不是一准备好用来使用的弹出窗口。图9-18显示在了我们自己的程序窗口中JColorChooser的样子。在顶部是三个可选择的颜色选择面板;在底部是一个预览面板。

2011-06-12 18:57:00 6832 5

翻译 弹出窗口与选择器(三)

9.3 ProgressMonitorInputStream类ProgressMonitorInputStream类表示一个输入流过滤器,这个输入流过滤器使用ProgressMonitor来检测一个输入流的读取。如果读取需要较长的时间完成,则会显示ProgressMonitor,且用户可以选择弹出窗口中的Cancel按钮,从而使得读取被中断并且输入流会抛出一个InterruptedIOExce

2011-06-11 18:44:00 2180 3

翻译 弹出窗口与选择器(二)

9.2 ProgressMonitor类 ProgressMonitor类用来报告需要一段时间完成的任务的状态。这个类是一个特殊的Swing类,他并不是一个GUI组件,也不是一个选项面板或是JavaBean组件。相反,当任务的每一部分完成时,我们通知ProgressMonitor。如果任务需要一段相当长的时间来完成,ProgressMonitor会显示一个类似图9-15所示的弹出窗口。 在ProgressMonitor显示弹出窗口以后,用户可以做下列两件事情。用户可以监视ProgressMonti

2011-05-19 18:49:00 1829

翻译 弹出窗口与选择器(一)

在第8章中,我们了解了顶层容器,例如JFrame与JApplet。另外,我们探讨了用来创建弹出窗口来显示信息或是获取用户输入的JDialog类。尽管JDialog类可以工作得很好,Swing组件集合同时提供了一些更为简单的方法来由弹出窗口获取用户输入,我们将会在本章进行探讨。 JOptionPane类对于显示信息,获取文本用户输入,或是获取问题答案十分有用。ProgressMonitor与ProgressMonitorInputStream类可以使得我们监视长时间任务的过程。另外,JColorChoose

2011-05-15 10:30:00 6699 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除