Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

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

출력

Java에서 편집 가능한 JLabel을 어떻게 구현할 수 있습니까?