如何在 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();
   }
}

輸出

更新時間: 2020 年 2 月 10 日

321 次瀏覽

開啟 事業的新篇章

完成課程認證

開始
廣告