6K+ 浏览量
JPanel 是一个轻量级容器,它是 Java 中一个不可见的组件。JPanel 的默认布局是 FlowLayout。创建 JPanel 后,可以通过调用其从 Container 类继承的 add() 方法将其他组件添加到 JPanel 对象。paintComponent()此方法用于在 JPanel 上绘制除绘制背景颜色之外的其他内容。此方法已存在于 JPanel 类中,因此我们需要使用 super 声明向此方法添加内容,并以 Graphics 对象作为参数。super.paintComponent() 代表 JPanel 的普通 paintComponent() 方法,它只能处理面板的背景,必须在... 阅读更多
2K+ 浏览量
JFrame 是来自 javax.swing 包的一个类,它可以扩展 java.awt.frame 类。它是一个带边框和标题栏的顶级窗口。JFrame 类有很多方法可以用来定制它。在设置 JFrame 的大小后,我们仍然可以通过将光标放在角上并拖动它来更改大小,或者如果我们按下右上角关闭按钮旁边的调整大小选项,它将最大化到全屏大小。发生这种情况是因为默认情况下 JFrame 类的调整大小设置为 true。我们可以使它... 阅读更多
BorderFactory 是一个工厂类,它在 Java 中提供了不同类型的边框。边框类型BevelBorder:此边框绘制凸起或凹陷的斜面边缘。EmptyBorder:它不进行任何绘制,但会占用空间。EtchedBorder:Lowered etched border 给出矩形的外观,Raised etched border 看起来像屏幕的表面。LineBorder:在组件周围绘制一个简单的矩形。我们可以在 LineBorder 构造函数中指定线条的颜色和宽度。MatteBorder:我们可以使用特定颜色创建 MatteBorder,并指定组件左侧、顶部、右侧和底部的边框大小。MatteBorder 还允许我们... 阅读更多
851 浏览量
JTextArea 是一个多行文本组件,用于显示文本或允许用户输入文本,当我们尝试实现 JTextArea 组件的功能时,它会生成一个 CaretListener 接口。JTextArea 类继承了 Java 中的 JTextComponent 类。在下面的示例中,我们可以实现一个 JTextArea 类,用户可以使用 ItemListener 接口选择自动换行或单词换行复选框。示例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。JScrollBarJScrollBar 类的对象用于添加水平和垂直滚动条,允许用户在指定的最小值和最大值之间选择项目。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(); ... 阅读更多
124 浏览量
JDialog 是 Dialog 类的子类,它在窗口的右上角不包含最小化和最大化按钮。我们可以在 Java 中创建两种类型的 JDialog 对话框。模式对话框非模式对话框模式 JDialog在 Java 中,当模式对话框窗口处于活动状态时,所有用户输入都将定向到它,并且应用程序的其他部分都无法访问,直到此模式对话框关闭。非模式 JDialog在 Java 中,当非模式对话框窗口处于活动状态时,应用程序的其他部分仍然可以正常访问,并且输入可以定向到它们,而此非模式对话框窗口不需要... 阅读更多
848 浏览量
JToggleButtonJToggleButton 是 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 可以是可编辑的或只读的。ActionListener、ChangeListener 或 ItemListener 接口可以用于处理 JComboBox 上的用户操作。getSelectedItem() 方法可以用于获取组合框中选定的或输入的项目。setEditable() 方法可以用于打开或关闭组合框的文本输入部分。我们可以创建一个 ... 阅读更多
634 次查看
SwingWorker 类使我们能够在工作线程中执行异步任务(例如长时间运行的任务),然后根据任务结果从事件分发线程 (EDT) 更新 Swing 组件。它是在 Java 1.6 版本中引入的。SwingWorker 类java.swing.SwingWorker 类是一个任务工作者,它在后台执行耗时的任务。SwingWorker 实例与 3 个线程交互:当前线程、工作线程和事件分发线程 (EDT)。当前线程调用 execute() 方法将任务启动到后台并立即返回。工作线程在后台持续执行我们自己的 doInBackground() 方法版本。事件分发线程 (EDT) 从时间 ... 阅读更多