1K+ 阅读量
当单击鼠标右键时,JPopupMenu 会出现在屏幕上的任何位置。JPopupMenu弹出菜单是一个自由浮动的菜单,它与称为调用者的底层组件相关联。大多数情况下,弹出菜单与特定组件链接以显示上下文相关的选项。为了创建一个弹出菜单,我们可以使用 JPopupMenu 类。,我们可以像普通菜单一样将 JMenuItem 添加到弹出菜单中。要显示弹出菜单,我们可以调用 show() 方法,通常弹出菜单是在响应鼠标事件时调用的。示例import java.awt.event.*; import java.awt.*; import javax.swing.*; public class JPopupMenuTest extends JFrame { ... 阅读更多
2K+ 阅读量
JTextPane 是 JEditorPane 的扩展,它提供了文字处理功能,例如字体、文本样式、颜色等。如果我们需要进行大量文本处理,可以使用此类,而 JEditorPane 支持显示/编辑 HTML 和 RTF 内容,并且可以通过创建我们自己的 EditorKit 来扩展。JTextPaneJTextPane 是 JEditorPane 的子类。JTextPane 用于带有嵌入图像和组件的样式化文档。JTextPane 是一个文本组件,可以使用图形方式表示的属性进行标记,并且可以使用 DefaultStyledDocument 作为默认模型。JTextPane 的重要方法有 addStyle()、getCharacterAttributes()、getStyledDocument()、setDocument()、setEditorKit()、setStyledDocument() 等。示例import java.awt.*; import ... 阅读更多
227 阅读量
处理 WindowEvent 的类需要实现此接口,并且可以使用 addWindowListener() 方法将此类的对象注册到组件中。WindowListener 接口的方法WindowListener 接口定义了 7 种处理窗口事件的方法void windowActivated(WindowEvent we) - 当窗口被激活时调用。void windowDeactivated(WindowEvent we) - 当窗口被停用时调用。void windowOpened(WindowEvent we) - 当窗口被打开时调用。void windowClosed(WindowEvent we) - 当窗口被关闭时调用。void windowClosing(WindowEvent we) - 当窗口正在关闭时调用。void windowIconified(WindowEvent we) - 当窗口最小化时调用。void windowDeiconfied(WindowEvent we) - 当窗口被还原时调用。语法public ... 阅读更多
35K+ 阅读量
布局管理器使我们能够控制在 GUI 表单中视觉组件的排列方式,方法是确定容器内组件的大小和位置。LayoutManager 类型Java 中有 6 个布局管理器FlowLayout:它像页面上的文字一样排列容器中的组件。它从左到右、从上到下填充顶行。组件按添加顺序排列,即第一个组件出现在左上方,如果容器不够宽以显示所有组件,... 阅读更多
布局管理器用于自动确定添加的组件的位置和大小。在没有布局管理器的情况下,必须手动设置组件的位置和大小。setBounds() 方法在这种情况下用于设置位置和大小。要手动指定组件的位置和大小,框架的布局管理器可以为 null。setBounds()setBounds() 方法需要四个参数。前两个参数是组件左上角的 x 和 y 坐标,第三个参数是组件的宽度,第四个参数是... 阅读更多
4K+ 阅读量
EventListener 接口定义了事件处理程序必须为特定类型的事件实现的方法,而 Event 适配器类提供了 EventListener 接口的默认实现。事件侦听器事件侦听器是每个组件处理事件的支柱。特定 EventListener 的每个方法都将有一个参数作为实例,该实例是 EventObject 类的子类。需要扩展 EventListener 接口,它将在 java.util 包中定义。一些 EventListener 接口有 ActionListener、KeyListener、MouseListener、FocusListener、ItemListener 等。示例import java.awt.*; import java.awt.event.*; import javax.swing.*; public class KeyListenerTest implements KeyListener, ActionListener { JFrame frame; JTextField tf; ... 阅读更多
9K+ 阅读量
容器Container 类可以描述为一个特殊的组件,它可以容纳组件的集合。Swing 容器有两种类型,分别是顶级容器和低级容器。顶级容器是重量级容器,例如 JFrame、JApplet、JWindow 和 JDialog。低级容器是轻量级容器,例如 JPanel。最常用的容器是 JFrame、JPanel 和 JWindow。Container 类的重要方法有 add()、invalidate() 和 validate()。示例import java.awt.*; import javax.swing.*; public class ContainerTest extends JFrame { // 顶级容器 JPanel panel; // 低级容器 JTextField field; JButton btn; public ContainerTest() { setTitle("Container Test"); ... 阅读更多
133 阅读量
CardLayout 的功能以顺序方式排列组件,并且一次只能看到一个组件,每个组件都将被视为一张卡片。CardLayoutCardLayout 与其他布局不同,其他布局管理器尝试一次显示容器中的所有组件,而 CardLayout 一次只显示一个组件。在 CardLayout 中,卡片通常放置在容器(例如 JPanel)中。组件按添加顺序放入卡片队列中。CardLayout 的重要方法有 first()、last()、next()、previous() 和 show()。示例import java.awt.*; ... 阅读更多
GridBagLayout 是一个非常灵活的布局管理器,它允许我们使用约束将组件彼此相对定位。每个 GridBagLayout 使用一个动态的矩形单元格网格,每个组件占据一个或多个单元格,称为其显示区域。由 GridBagLayout 管理的每个组件都与一个 GridBagConstraints 实例相关联,该实例指定组件在其显示区域内的布局方式。GridBagConstraints我们可以通过设置一个或多个公共实例变量来自定义 GridBagConstraints 对象。这些变量指定组件的位置、大小、增长因子、锚点、内边距、填充和间距。gridx:指定组件最左侧单元格的 int 值... 阅读更多
6K+ 阅读量
JPanel 是一个轻量级容器,它是一个 Java 中的不可见组件。JPanel 的默认布局是 FlowLayout。创建 JPanel 后,可以通过调用其从 Container 类继承的 add() 方法将其他组件添加到 JPanel 对象中。paintComponent()此方法用于在 JPanel 上绘制内容,而不是绘制背景颜色。此方法已存在于 JPanel 类中,因此我们需要使用 super 声明来向此方法添加内容,并以 Graphics 对象作为参数。super.paintComponent() 代表 JPanel 的普通 paintComponent() 方法,它只能处理面板的背景,必须在... 阅读更多