Swing
JavaEdge.
关注并私信我,获取更多大厂求职经验。《编程严选网》创始人
展开
-
JavaSwing_8.1:焦点事件及其监听器 - FocusEvent、FocusListener
0 FocusEvent低级别事件指示Component已获得或失去输入焦点。 由组件生成此低级别事件(如一个TextField)。 该事件被传递给每一个FocusListener或FocusAdapter注册,以接收使用组件的此类事件对象addFocusListener方法。 ( FocusAdapter对象实现FocusListener接口。)每个此类侦听器对象获取此FocusEvent当事件发生时。有两个焦点事件级别:持久性和暂时性的。 永久焦点改变事件发生时焦点直接移动从一个组件到另一个,例如通原创 2020-06-17 11:02:55 · 5131 阅读 · 1 评论 -
如何在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-06-16 15:57:56 · 3186 阅读 · 0 评论 -
Component
请求此 Component 获取输入焦点,并且此 Component 的顶层祖先成为获得焦点的 Window。此 Component 对于所要许可的请求而言必须是不可显示的、可聚焦的和可见的并且其所有祖先(除了顶层 Window 以外)必须是可见的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员永远不能假定此 Component 是焦点所有者。如果由于此 Component 的顶层 Window 没有成为获得焦点的窗口而拒绝.原创 2020-06-15 16:25:45 · 1576 阅读 · 0 评论 -
WindowFocusListener窗体焦点监听器
Windows 类addWindowStateListener添加指定的窗口焦点侦听器,以从此窗口接收窗口事件。 如果l为null,则不会抛出异常,并且不执行任何操作。WindowAdapter抽象适配器类接收窗口事件。 此类中的方法为空。 此类存在的目的是方便创建侦听器对象。扩展此类可创建WindowEvent侦听器并重写所需事件的方法。 (如果要实现WindowListener界面,你必须定义在它所有的方法。此抽象类定义空对他们的所有方法,这样你就可以只需要针对所关心的事件重写方法。)原创 2020-06-11 14:20:26 · 2291 阅读 · 0 评论 -
BoxLayout
1 简介BoxLayout,箱式布局管理器。它把若干组件按水平或垂直方向依次排列放置。Swing 提供了一个实现了 BoxLayout 的容器组件Box。使用 Box 提供的静态方法,可快速创建水平/垂直箱容器(Box),以及填充组件之间空隙的不可见组件。用水平箱和垂直箱的组合嵌套可实现类似于 GridBagLayout 的效果,但没那么复杂。创建创建一个水平箱容器创建一个垂直箱容器Box 内的组件之间默认没有空隙并居中,如果想在组件之间(或头部/尾部)添加空隙,可以在其中添加一个原创 2020-05-27 21:28:47 · 2023 阅读 · 0 评论 -
Java Swing JTable
1 简介JTable用于显示和编辑常规的二维单元格表。有关面向任务的文档和使用JTable的示例,请参见Java教程中的如何使用表。JTable具有许多功能,可以自定义其呈现和编辑功能,但是为这些功能提供了默认设置,因此可以轻松设置简单的表。例如,要建立一个包含10行10列数字的表:TableModel dataModel = new AbstractTableModel(){Public int getColumnCount(){返回10; }Public int getRowCount(){返原创 2020-05-27 17:03:18 · 2185 阅读 · 0 评论 -
Java Swing BorderLayout
简介BorderLayout,边界布局管理器。它把 Container 按方位分为 5 个区域(东、西、南、北、中),每个区域放置一个组件。构造方法:构造一个组件之间没有间距的新边框布局BorderLayout()构造一个具有指定组件间距的边框布局BorderLayout(int hgap, int vgap)方位常量BorderLayout.NORTH // 容器的北边BorderLayout.SOUTH // 容器的南边BorderLayout.WEST原创 2020-05-27 13:33:56 · 1670 阅读 · 0 评论 -
Java Swing JScrollPane -(滚动面板)
1 简介支持水平和垂直滚动视图。文本区域、表格等需要显示较多数据而空间又有限时,通常使用 JScrollPane 进行包裹以实现滚动显示。JScrollPane 内包含一个视口表示 JScrollPane 的显示区域。视口内包含一个需要滚动显示的组件,称为视图。构造方法参数说明:view: 需要滚动显示的视图组件vsbPolicy: 垂直滚动条的显示策略hsbPolicy: 水平滚动条的显示策略滚动条的显示策略的取值:用于设置垂直滚动条策略,以便在需要时垂直滚动条时,才会显示原创 2020-05-26 21:36:03 · 4063 阅读 · 0 评论 -
JavaSwing_2.6: JTextField(文本框)
JTextField 用来编辑单行的文本。构造方法:/*参数说明:text: 默认显示的文本columns: 用来计算首选宽度的列数;如果列设置为 0,则首选宽度将是组件实现的自然结果*/JTextField()JTextField(String text)JTextField(int columns)JTextField(String text, int ...原创 2020-05-26 20:07:50 · 2047 阅读 · 0 评论 -
Swing 的 undo 包实现撤销/重做功能
0 Edit与Command模式中的Command类似的一个概念。Command模式将操作的执行逻辑封装到一个个Command对象中,解耦了操作发起者和操作执行逻辑之间的耦合关系:操作发起者要进行一个操作,不用关心具体的执行逻辑,只需创建一个相应的Command实例,调用它的执行接口即可。而在swing中,与界面交互的各种操作,比如插入,删除等被称之为Edit,实际上就是Command。1 undo包1.1 UndoableEdit接口一个已完成的编辑操作(edit),一个可以被Undo/Red原创 2020-05-19 20:23:46 · 2013 阅读 · 0 评论 -
Java中的JList和DefaultListModel的亲密关系
对比JComboBoxJList从含义上看是一个列表,有点和JComboBox相似。JComboBox的内容只能用一列显示出来JList的内容可以多列显示这就是JList存在的意义构造器一个对象数组String[] words= { "quick", "brown", "hungry", "wild"};JList wordList = new JList(words);L...原创 2020-05-07 10:25:31 · 7035 阅读 · 6 评论 -
JavaSwing:JRadioButton-单选按钮开发详解
单选按钮的实现-可以选择或取消选择的项目,并向用户显示其状态。与ButtonGroup对象一起使用以创建一组按钮,其中一次只能选择一个按钮。(创建一个ButtonGroup对象,并使用其add方法在该组中包括JRadioButton对象。)注意:ButtonGroup对象是一个逻辑分组,而不是物理分组。要创建按钮面板,仍然应该创建一个JPanel或类似的container-object...原创 2020-04-30 16:26:08 · 3464 阅读 · 0 评论 -
Swing 的任务线程与 EDT 事件分发队列模型
1 现象在Swing程序中,经常能看到如下这种代码:2 疑惑:为何用invokeLater,而不直接调用大多数Swing的API非线程安全,不能在任意地方调用,应该只在EDT中调用。Swing的线程安全靠事件队列和EDT来保证。EventQueue的派发机制由单独的一个线程 - 事件派发线程(EDT)管理。Swing将GUI请求放入一个事件队列中执行。通过EDT,使得非线程安全的Sw...原创 2020-04-23 10:23:54 · 2763 阅读 · 4 评论 -
Java Swing 的Document类详解
Document是用于文本的容器,用作swing文本组件的模型。 此接口的目标是从非常简单的需求(纯文本文本字段)扩展到复杂需求(例如,HTML或XML文档)。内容在最简单的级别,文本可以建模为线性字符序列。 为了支持国际化,Swing文本模型使用unicode字符。 文本组件中显示的字符序列通常称为组件的内容 。要引用序列中的位置,使用的坐标是两个字符之间的位置。 如下图所示,文本文档中的...原创 2020-04-13 16:22:27 · 2954 阅读 · 0 评论 -
JavaSwing-ItemSelectable
包含一组可以选择零或更多项的对象的接口APIaddItemListener添加监听器以在用户更改项目状态时接收项目事件。 如果以编程方式设置项目状态时,不会发送项目事件。 如果l是null ,则不会引发异常并且不执行任何操作。removeItemListener...原创 2020-04-07 15:35:43 · 1853 阅读 · 0 评论 -
JavaSwing-ItemListener接口
用于接收项目事件的监听器界面。 对处理项目事件感兴趣的类将实现此接口。 然后使用该类创建的对象使用组件的addItemListener方法向该组件注册。 发生项目选择事件时,将调用监听器对象的itemStateChanged方法。处理ItemEvent的类应该实现此接口。该类的对象必须使用组件注册。可以使用addItemListener()方法注册该对象。发生操作事件时,将调用该对象的itemS...原创 2020-04-07 15:27:18 · 2751 阅读 · 0 评论 -
啃透JDK源码-JCheckBox详解
继承体系属性标识对flat属性的更改。flatJCheckBox是Swing中的复选框。复选框可以同时存在多个这样的控件,它们可以有多个处于被选中状态。对于每一个复选框而言,它只有选中和未选中两种状态。JCheckBox的常用方法如下图所示:构造方法JCheckBox()创建一个最初未选中的复选框按钮,没有文本,也没有图标。JCheckBox(Action a)...原创 2020-04-07 14:35:47 · 2235 阅读 · 0 评论