如何在 Java 中實現可編輯的 JLabel?(英語)
JLabel
- 一個 JLabel 類可以擴充套件 JComponent 類,JLabel 的一個物件可以提供文字說明或關於一個 GUI 的資訊。
- 一個 JLabel 能顯示一行 只讀文字、一個 圖片 或兼具 文字 和 圖片。
- JLabel 的重要方法包括 setText()、setIcon()、setBackground()、setOpaque()、setHorizontalAlignment()、setVerticalAlignment() 等。
- 一個 JLabel 可以顯式生成一個 PropertyChangeListener 介面。
示例
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.text.*; public class JEditableLabel extends JFrame { public JEditableLabel() { setTitle("JEditableLabel"); setLayout(new FlowLayout()); final JLabel label = new JLabel(" Welcome to Tutorials Point"); final JTextField textfield = new JTextField(); final CardLayout cl = new CardLayout(); final JPanel panel = new JPanel(cl); panel.add(label, "label component"); panel.add(textfield, "textfield component"); add(panel); label.addMouseListener(new MouseAdapter() { public final void mouseEntered(MouseEvent evt) { textfield.setText(label.getText()); cl.show(panel, "textfield component"); } }); textfield.addMouseListener(new MouseAdapter() { public final void mouseExited(MouseEvent evt) { label.setText(textfield.getText()); cl.show(panel, "label component"); } }); setSize(375, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { new JEditableLabel(); } }
輸出
廣告