找到 113 篇文章 适用于 AWT
1K+ 浏览量
JTable 是 JComponent 类的子类,用于显示复杂的数据结构。JTable 可以遵循 模型-视图-控制器 (MVC) 设计模式来显示数据,以行和列的形式呈现。JTable 将生成 TableModelListener、TableColumnModelListener、ListSelectionListener、CellEditorListener 和 RowSorterListener 接口。我们可以通过实现 JTable 类的 getValueAt() 方法来验证 JTable 单元格是否为空。如果我们点击“点击此处”按钮,它将生成一个操作事件,并向用户显示一个弹出消息,例如“字段为空”。示例 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; public class JTableEmptyValidateTest extends JFrame { private JPanel panel; private JTable table; ... 阅读更多
388 浏览量
JTable 是 JComponent 类的子类,可用于创建表格,并在多个行和列中显示信息。当从 JTable 中选择一个值时,会生成一个 TableModelEvent,它通过实现 TableModelListener 接口来处理。在下面的程序中,如果 JTable 中没有可用行,我们可以显示“无可用记录”文本。示例 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; public class NoRecordTableTest extends JFrame { private JPanel panel; private JTable table; private JScrollPane scrollPane; public NoRecordTableTest() { panel = new JPanel(); panel.setLayout(new BorderLayout()); ... 阅读更多
292 浏览量
JTree 是一个组件,它以分层方式呈现数据。用户可以展开或折叠各个子树。TreeNode 接口定义了 JTree 对象的节点必须实现的方法。DefaulMutableTreeNode 类提供了 TreeNode 接口的默认实现。我们可以通过覆盖 DefaultTreeCellRenderer 类的 getTreeCellRendererComponent() 方法来禁用 JTree 的叶子节点。语法 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) 示例 import java.awt.*; import javax.swing.tree.*; import javax.swing.*; public class JTreeLeafNodeDisableTest extends JFrame { private TreeNode treeNode; private JTree tree; public JTreeLeafNodeDisableTest() { setTitle("JTreeLeafNodeDisable Test"); ... 阅读更多
709 浏览量
JTree 是 JComponent 类的子类,可用于通过将节点添加到节点来显示具有层次结构属性的数据,并保持父节点和子节点的概念。树中的每个元素都成为一个节点。节点可以展开和折叠。我们可以使用 MouseAdapter 类的 mouseReleased() 方法实现对 JTree 的每个节点的鼠标右键点击,并且需要调用 JPopupMenu 类的 show() 方法以在树节点上显示弹出菜单。示例 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.*; public class JTreeRightClickTest extends JFrame { public JTreeRightClickTest() { ... 阅读更多
7K+ 浏览量
JTable 是 JComponent 类的子类,用于显示复杂的数据结构。JTable 组件可以遵循 模型-视图-控制器 (MVC) 设计模式来显示数据,以行和列的形式呈现。JTable 可以生成 TableModelListener、TableColumnModelListener、ListSelectionListener、CellEditorListener 和 RowSorterListener 接口。我们可以使用 DefaultTableModel 类的 removeRow() 方法从 JTable 中删除选定的行。语法 public void removeRow(int row) 示例 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; public class RemoveSelectedRowTest extends JFrame { private JTable table; private DefaultTableModel model; private Object[][] data; private String[] columnNames; private JButton button; public RemoveSelectedRowTest() { setTitle("RemoveSelectedRow ... 阅读更多
598 浏览量
JList 是 JComponent 类的子类,可用于显示对象列表,允许用户选择一个或多个项目。JList 可以生成 ListSelectiionListener 接口,并且需要实现抽象方法 valueChanged()。DefaultListModel 类提供了列表模型的简单实现,可用于管理 JList 控件显示的项目。我们可以使用 DefaultListModel 类的 addElement() 方法将项目添加到 JList,我们还可以使用 HTML 标签(例如,用于粗体样式文本,用于斜体样式文本)向 JList 添加具有不同字体的项目。 ... 阅读更多
1K+ 浏览量
JComboBox 是 JComponent 类的子类,它是文本字段和下拉列表的组合,用户可以从中选择一个值。当用户对组合框执行操作时,JComboBox 可以生成 ActionListener、ChangeListener 和 ItemListener 接口。当用户从键盘输入值时,我们可以通过使用组合框(AutoCompleteComboBox)的自定义(扩展 JComboBox 类)来实现自动完成 JComboBox。示例 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.plaf.basic.*; public class AutoCompleteComboBoxTest extends JFrame { private JComboBox comboBox; public AutoCompleteComboBoxTest() { setTitle("AutoCompleteComboBox"); ... 阅读更多
364 浏览量
JDialog 是 Dialog 类的子类,它不会在窗口的右上角保留最小化和最大化按钮。对话框有两种类型:模态和非模态。对话框的默认布局是 BorderLayout。在下面的程序中,我们可以通过自定义 AlphaContainer 类并覆盖 paintComponent() 方法来实现透明的 JDialog。示例 import java.awt.*; import javax.swing.*; public class TransparentDialog { public static void main (String[] args) { JDialog dialog = new JDialog(); dialog.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); dialog.getRootPane().setOpaque(false); dialog.setUndecorated(true); dialog.setBackground(new Color (0, 0, ... 阅读更多
3K+ 浏览量
invokeLater() 方法是 SwingUtilities 类的静态方法,它可以用来在 AWT 事件分发线程中异步执行任务。SwingUtilities.invokeLater() 方法的工作原理类似于 SwingUtilities.invokeAndWait(),但它将请求放入事件队列并立即返回。invokeLater() 方法不会等待 Runnable 对象引用的代码块执行完成。语法public static void invokeLater(Runnable target)示例import java.awt.*; import java.awt.event.*; import javax.swing.*; public class InvokeLaterTest extends Object { private static void print(String msg) { String name = Thread.currentThread().getName(); System.out.println(name + ": " + msg); } ... 阅读更多
1K+ 浏览量
JButton 是 AbstractButton 的子类,它可以用于向 GUI 应用程序添加平台无关的按钮。当按钮被按下或点击时,JButton 可以生成 ActionListener 接口,它还可以生成 MouseListener 和 KeyListener 接口。我们可以通过覆盖 MouseListener 接口的 mouseEntered() 方法来实现鼠标移动到 JButton 上时的翻转效果。语法void mouseEntered(MouseEvent e)示例import java.awt.*; import java.awt.event.*; import javax.swing.*; public class RollOverButtonTest extends JFrame { private JButton button; public RollOverButtonTest() { setTitle("RollOverButton Test"); button = new JButton("Rollover Button"); button.addMouseListener(new MouseAdapter() { ... 阅读更多