133 次浏览
CardLayout 的功能以顺序方式排列组件,一次只显示一个组件,每个组件都被视为一张卡片。CardLayout 与其他布局管理器不同,其他布局管理器尝试一次显示容器内的所有组件,而 CardLayout 一次只显示一个组件。在 CardLayout 中,卡片通常放置在容器中,例如 JPanel。组件按照添加的顺序放置到卡片队列中。CardLayout 的重要方法是 first()、last()、next()、previous() 和 show()。示例 import java.awt.*; ... 阅读更多
2K+ 次浏览
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() 方法,它只能处理面板的背景,必须在…… 阅读更多
JFrame 是 javax.swing 包中的一个类,它可以扩展 java.awt.frame 类。它是一个带有边框和标题栏的顶级窗口。JFrame 类有很多方法可以用来定制它。设置 JFrame 的大小后,我们仍然可以通过将光标放在角上并拖动它来更改大小,或者如果我们按下右上角关闭旁边的调整大小选项,它将最大化到全屏大小。这是因为 JFrame 类的调整大小默认设置为 true。我们可以…… 阅读更多
BorderFactory 是一个工厂类,它提供 Java 中不同类型的边框。边框类型 BevelBorder:此边框绘制凸起或凹陷的斜面边缘。EmptyBorder:它不进行任何绘制,但确实占用空间。EtchedBorder:凹陷蚀刻边框呈现矩形外观,凸起蚀刻边框看起来像屏幕表面。LineBorder:在组件周围绘制一个简单的矩形。我们可以在 LineBorder 构造函数中指定线条的颜色和宽度。MatteBorder:我们可以使用某种颜色创建 MatteBorder,并指定组件左侧、顶部、右侧和底部的边框大小。MatteBorder 还允许我们…… 阅读更多
851 次浏览
JTextArea 是一个多行文本组件,用于显示文本或允许用户输入文本,并且在尝试实现 JTextArea 组件的功能时,它将生成 CaretListener 接口。JTextArea 类继承 Java 中的 JTextComponent 类。在下面的示例中,我们可以使用 ItemListener 接口实现一个 JTextArea 类,用户可以选择自动换行或单词换行的复选框。示例 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class JTextAreaTest { public static void main(String[] args ) { EventQueue.invokeLater(new Runnable() { @Override public void run() { …… 阅读更多
3K+ 次浏览
JScrollBar 是一个组件,它不处理它自己的事件,而 JScrollPane 是一个容器,它处理它自己的事件并执行它自己的滚动。JScrollBar 不能有 JScrollPane,而 JScrollPane 可以有 JScrollBar。JScrollBar JScrollBar 类的对象用于添加水平和垂直滚动条,允许用户在指定的最小值和最大值之间选择项目。JScrollBar 类是滚动条的实现,并继承 JComponent 类。语法 public class JScrollBar extends JComponent implements Adjustable, Accessible 示例 import javax.swing.*; import java.awt.*; public class JScrollBarTest extends JFrame{ JScrollBarTest() { setTitle("JScrollBar Test"); JScrollBar jsb = new JScrollBar(); …… 阅读更多
848 次浏览
JToggleButton JToggleButton 是 AbstractButton 的扩展,它可以用来表示可以切换 ON 和 OFF 的按钮。当第一次按下 JToggleButton 时,它会保持按下状态,只有在第二次按下时才能释放。JToggleButton 在每次按下时都会生成一个 ActionEvent。JToggleButton 也可以生成 ItemEvent,此事件由支持选择概念的那些组件使用。当 JToggleButton 被按下时,它被选中。当它弹出时,它被取消选中。要处理项目事件,必须实现 ItemListener 接口。此接口定义了 itemStateChanged() 方法,该方法…… 阅读更多
4K+ 次浏览
JTextField 是最重要的组件之一,它允许用户以单行格式输入文本值。我们可以通过使用 PlainDocument 类来限制用户可以输入到 JTextField 中的字符数。在下面的示例中,我们可以使用 PlainDocument 类实现逻辑,因此我们可以允许用户最多输入 10 个字符,如果输入超过 10 个字符,则不允许。示例 import java.awt.*; import javax.swing.*; import javax.swing.text.*; class JTextFieldLimit extends PlainDocument { private int limit; JTextFieldLimit(int limit) { super(); …… 阅读更多
JComboBox 是一个组件,它显示一个下拉列表,并为用户提供选项,用户一次只能选择一个项目,而 JList 向用户显示多个项目(行),并允许用户选择多个项目。JComboBox JComboBox 可以是可编辑的或只读的。ActionListener、ChangeListener 或 ItemListener 接口可以用来处理用户对 JComboBox 的操作。getSelectedItem() 方法可以用来从组合框中获取选定的或输入的项目。setEditable() 方法可以用来打开或关闭组合框的文本输入部分。我们可以创建一个…… 阅读更多