找到關於 Swing 的133 篇文章
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 介面。當用戶從鍵盤輸入值時,我們可以透過擴充套件 JComboBox 類來自定義組合框 (AutoCompleteComboBox) 來實現自動完成 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 應用程式新增與平臺無關的按鈕。按下或單擊按鈕時,JButon 可以生成 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() { ... 閱讀更多
215 次檢視
JCheckBox 是 JToggleButton 的一個子類,它是一個可以選中或取消選擇的小方框。單擊 JCheckBox 時,它會自動在選中和取消選中狀態之間切換。每當複選框狀態發生變化時,JCheckBox 可以生成 ActionListener 或 ItemListener。可以使用 setMnemonic() 方法為 JCheckBox 設定快捷鍵。示例 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JCheckBoxShortCutKeyTest extends JFrame { private JCheckBox checkBox; public JCheckBoxShortCutKeyTest() { setTitle("JCheckBoxShortCutKey Test"); checkBox = new JCheckBox("選中或按 ALT-C"); checkBox.setBorder(BorderFactory.createLineBorder(Color.lightGray)); checkBox.setMnemonic('C'); ... 閱讀更多
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP