Java Swing大神必经之路
它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。
beyondwild
愿你眸有星辰,心有山河,以梦为马,不负韶华!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java Swing大神必经之路20:JavaSwing_8.1:焦点事件及其监听器 - FocusEvent、FocusListener
0 FocusEvent低级别事件指示Component已获得或失去输入焦点。 由组件生成此低级别事件(如一个TextField)。 该事件被传递给每一个FocusListener或FocusAdapter注册,以接收使用组件的此类事件对象addFocusListener方法。 ( FocusAdapter对象实现FocusListener接口。)每个此类侦听器对象获取此FocusEvent当事件发生时。有两个焦点事件级别:持久性和暂时性的。 永久焦点改变事件发生时焦点直接移动从一个组件到另一个,例如原创 2020-08-20 07:48:46 · 679 阅读 · 0 评论 -
Java Swing大神必经之路19:如何在Swing组件中使用HTML
许多Swing组件在其GUI中显示文本字符串。默认情况下,组件的文本以一种字体和颜色显示,并且全部显示在一行上。可以分别通过调用组件的setFont和setForeground方法来确定组件文本的字体和颜色。例如,以下代码创建一个标签,然后设置其字体和颜色:label = new JLabel("A label");label.setFont(new Font("Serif", Font.PLAIN, 14));label.setForeground(new Color(0xffffdd));原创 2020-08-20 07:48:37 · 1062 阅读 · 0 评论 -
Java Swing大神必经之路17:Component
请求此 Component 获取输入焦点,并且此 Component 的顶层祖先成为获得焦点的 Window。此 Component 对于所要许可的请求而言必须是不可显示的、可聚焦的和可见的并且其所有祖先(除了顶层 Window 以外)必须是可见的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员永远不能假定此 Component 是焦点所有者。如果由于此 Component 的顶层 Window 没有成为获得焦点的窗口而拒..原创 2020-08-20 07:48:19 · 440 阅读 · 0 评论 -
Java Swing大神必经之路16:WindowFocusListener窗体焦点监听器
Windows 类addWindowStateListener添加指定的窗口焦点侦听器,以从此窗口接收窗口事件。 如果l为null,则不会抛出异常,并且不执行任何操作。WindowAdapter抽象适配器类接收窗口事件。 此类中的方法为空。 此类存在的目的是方便创建侦听器对象。扩展此类可创建WindowEvent侦听器并重写所需事件的方法。 (如果要实现WindowListener界面,你必须定义在它所有的方法。此抽象类定义空对他们的所有方法,这样你就可以只需要针对所关心的事件重写方法。)原创 2020-08-20 07:48:12 · 484 阅读 · 0 评论 -
Java Swing大神必经之路15:BoxLayout
1 简介BoxLayout,箱式布局管理器。它把若干组件按水平或垂直方向依次排列放置。Swing 提供了一个实现了 BoxLayout 的容器组件Box。使用 Box 提供的静态方法,可快速创建水平/垂直箱容器(Box),以及填充组件之间空隙的不可见组件。用水平箱和垂直箱的组合嵌套可实现类似于 GridBagLayout 的效果,但没那么复杂。创建 创建一个水平箱容器 创建一个垂直箱容器 Box 内的组件之间默认没有空隙并居中,如果想在组件之间(或头部/尾部)添加空隙,可以在其中原创 2020-08-20 07:48:04 · 341 阅读 · 0 评论 -
Java Swing大神必经之路14:Java Swing JTable
1 简介JTable用于显示和编辑常规的二维单元格表。有关面向任务的文档和使用JTable的示例,请参见Java教程中的如何使用表。JTable具有许多功能,可以自定义其呈现和编辑功能,但是为这些功能提供了默认设置,因此可以轻松设置简单的表。例如,要建立一个包含10行10列数字的表:TableModel dataModel = new AbstractTableModel(){Public int getColumnCount(){返回10; }Public int getRowCount(原创 2020-08-20 07:47:55 · 355 阅读 · 0 评论 -
Java Swing大神必经之路13:JavaSwing BorderLayout
简介BorderLayout,边界布局管理器。它把 Container 按方位分为 5 个区域(东、西、南、北、中),每个区域放置一个组件。构造方法:构造一个组件之间没有间距的新边框布局BorderLayout()构造一个具有指定组件间距的边框布局BorderLayout(int hgap, int vgap)方位常量BorderLayout.NORTH // 容器的北边BorderLayout.SOUTH // 容器的南边BorderLayout.WE原创 2020-08-20 07:47:48 · 230 阅读 · 1 评论 -
Java Swing大神必经之路12:JavaSwing JScrollPane -(滚动面板)
1 简介支持水平和垂直滚动视图。文本区域、表格等需要显示较多数据而空间又有限时,通常使用 JScrollPane 进行包裹以实现滚动显示。JScrollPane 内包含一个视口表示 JScrollPane 的显示区域。视口内包含一个需要滚动显示的组件,称为视图。构造方法参数说明:view: 需要滚动显示的视图组件 vsbPolicy: 垂直滚动条的显示策略 hsbPolicy: 水平滚动条的显示策略滚动条的显示策略的取值:用于设置垂直滚动条策略,以便在需要时垂直滚动条时原创 2020-08-20 07:47:41 · 1024 阅读 · 1 评论 -
Java Swing大神必经之路11:JavaSwing_2.6: JTextField(文本框)
JTextField 用来编辑单行的文本。构造器构造一个新的空TextField与指定列数。 创建一个默认的模型,初始字符串设置为null 。 PARAMS:列 - 用于计算首选宽度的列数; 如果列被设置为零,优选的宽度将是任何自然地从组件实现API基础// 获取文本框中的文本String getText()// 设置文本框的 文本、字体 和 字体颜色void setText(String text)void setFont(Font font)void setFore原创 2020-08-19 11:24:56 · 501 阅读 · 0 评论 -
Java Swing大神必经之路10:Swing 的 undo 包实现撤销/重做功能
0 Edit与Command模式中的Command类似的一个概念。Command模式将操作的执行逻辑封装到一个个Command对象中,解耦了操作发起者和操作执行逻辑之间的耦合关系:操作发起者要进行一个操作,不用关心具体的执行逻辑,只需创建一个相应的Command实例,调用它的执行接口即可。而在swing中,与界面交互的各种操作,比如插入,删除等被称之为Edit,实际上就是Command。1 undo包1.1 UndoableEdit接口一个已完成的编辑操作(edit),一个可以被Und原创 2020-08-19 11:23:08 · 561 阅读 · 1 评论 -
Java Swing大神必经之路9:Java中的JList和DefaultListModel的亲密关系
对比JComboBoxJList从含义上看是一个列表,有点和JComboBox相似。JComboBox的内容只能用一列显示出来 JList的内容可以多列显示 这就是JList存在的意义构造器一个对象数组String[] words= { "quick", "brown", "hungry", "wild"};JList wordList = new JList(words);ListModel构造一个JList从指定显示元素从非空的model。 所有JList构造方法都委原创 2020-08-19 11:20:38 · 789 阅读 · 0 评论 -
Java Swing大神必经之路8:JavaSwing:JRadioButton-单选按钮开发详解
单选按钮的实现-可以选择或取消选择的项目,并向用户显示其状态。与ButtonGroup对象一起使用以创建一组按钮,其中一次只能选择一个按钮。(创建一个ButtonGroup对象,并使用其add方法在该组中包括JRadioButton对象。)注意:ButtonGroup对象是一个逻辑分组,而不是物理分组。要创建按钮面板,仍然应该创建一个JPanel或类似的container-object,并向其添加javax.swing.border.Border,以使其与周围的component分离。可以通过.原创 2020-08-19 11:18:08 · 811 阅读 · 0 评论 -
Java Swing大神必经之路7:Swing 的任务线程与 EDT 事件分发队列模型
1 现象及问题在Swing程序中,经常能看到如下这种代码:为何用invokeLater,而不直接调用呢?大多数Swing的API非线程安全,不能在任意地方调用,应该只在EDT中调用。Swing的线程安全靠事件队列和EDT来保证。EventQueue的派发机制由单独的一个线程 - 事件派发线程(EDT)管理。Swing将GUI请求放入一个事件队列中执行。通过EDT,使得非线程安全的Swing函数库避开了并发问题。3 Swing 中的线程分类一个Swing程序中一般有下面三种类型原创 2020-08-19 11:15:22 · 401 阅读 · 0 评论 -
Java Swing大神必经之路6:JavaSwing 的Document类详解
Document是用于文本的容器,用作swing文本组件的模型。 此接口的目标是从非常简单的需求(纯文本文本字段)扩展到复杂需求(例如,HTML或XML文档)。内容在最简单的级别,文本可以建模为线性字符序列。 为了支持国际化,Swing文本模型使用unicode字符。 文本组件中显示的字符序列通常称为组件的内容 。要引用序列中的位置,使用的坐标是两个字符之间的位置。 如下图所示,文本文档中的位置可以称为位置或偏移。 这个位置是从零开始的。在该示例中,如果文档的内容是序列“The quick b原创 2020-08-19 11:13:00 · 583 阅读 · 0 评论 -
Java Swing大神必经之路5:JavaSwing-ItemSelectable
包含一组可以选择零或更多项的对象的接口APIaddItemListener添加监听器以在用户更改项目状态时接收项目事件。 如果以编程方式设置项目状态时,不会发送项目事件。 如果l是null ,则不会引发异常并且不执行任何操作。removeItemListener...原创 2020-08-19 11:11:43 · 240 阅读 · 0 评论 -
Java Swing大神必经之路4:JavaSwing-ItemListener接口
用于接收项目事件的监听器界面。 对处理项目事件感兴趣的类将实现此接口。 然后使用该类创建的对象使用组件的addItemListener方法向该组件注册。 发生项目选择事件时,将调用监听器对象的itemStateChanged方法。处理ItemEvent的类应该实现此接口。该类的对象必须使用组件注册。可以使用addItemListener()方法注册该对象。发生操作事件时,将调用该对象的itemStateChanged方法当用户选择或取消选择一个项目时调用。 为此方法编写的代码执行选择(或取消选择)项原创 2020-08-19 11:10:46 · 511 阅读 · 1 评论 -
Java Swing大神必经之路3:JavaSwing-AbstractButton详解
定义按钮和菜单项的常见行为。可以通过操作配置按钮,并在某种程度上控制按钮。 除了直接配置按钮外,将动作与按钮配合使用还有很多好处。警告:此类的序列化对象将与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,已将所有JavaBeans™的长期存储支持添加到java.beans包中API /** * 设置呈现此组件的L&F对象。 * @param ui the ButtonUI L&a原创 2020-08-19 11:09:58 · 506 阅读 · 0 评论 -
Java Swing大神必经之路2:啃透JDK源码-JCheckBox详解
继承体系属性标识对flat属性的更改。 flatJCheckBox是Swing中的复选框。 复选框 可以同时存在多个这样的控件,它们可以有多个处于被选中状态。对于每一个复选框而言,它只有选中和未选中两种状态。JCheckBox的常用方法如下图所示:构造方法 JCheckBox() 创建一个最初未选中的复选框按钮,没有文本,也没有图标。 JCheckBox(Action a) 创建一个复选框,属性取自提供的Action。 JCheckBox(Icon ic原创 2020-08-19 11:08:44 · 351 阅读 · 1 评论 -
Java Swing大神必经之路1:目录
Java Swing大神必经之路1:目录Java Swing大神必经之路2:啃透JDK源码-JCheckBox详解Java Swing大神必经之路3:JavaSwing-AbstractButton详解Java Swing大神必经之路4:JavaSwing-ItemListener接口Java Swing大神必经之路5:JavaSwing-ItemSelectableJava Swing大神必经之路6:Java Swing 的Document类详解Java Swing大神必经之路7:原创 2020-08-20 07:49:16 · 271 阅读 · 2 评论
分享