'JLabel'에 해당되는 글 3건

  1. 2024.10.03 JDialog 에서 화면 출력전 JLabel 크기 확인 방법
  2. 2023.02.26 JTextField, JLabel 에서 text 변경 이벤트 처리하기
  3. 2022.06.15 JLabel 텍스트 컬러 변경 하기

JDialog 에서 화면 출력전 JLabel 크기 확인 방법

프로그래밍/java 2024. 10. 3. 21:35
반응형

JDialog 화면을 구성할때 JLabel 의 크기를 확인 해야 될 때가 있다.

JLabel 생성후 text를 설정을 해도 그 크기가 설정되지 않는다.

 

이때는 dialog panel을 설정한 후 pack() 을 호출하면 JLabel 의 크기가 설정이 되어 그 값을 읽어 올 수 있다.

그리고 나서 읽어들인 크기 값을 사용하여 필요한 UI를 만든 후 다시 panel 을 설정하면 된다.

 

JLabel 이 다른 컴포넌트와 붙어 있을 경우 창크기와 맞출때 사용한다.

contentPane.add(panel)
pack()

// mLabel의 크기를 확인 하고 mTestTF의 크기를 재설정한다.
mTestTF.preferredSize = Dimension(panelWidth - (mLabel.width + 5), mTestTF.preferredSize.height)

// 변경된 값의 적용을 위해 panel을 삭제/추가 한다
contentPane.remove(panel)
contentPane.add(panel)
pack()
반응형
:

JTextField, JLabel 에서 text 변경 이벤트 처리하기

프로그래밍/java 2023. 2. 26. 22:58
반응형

JLabel : PropertyChangeListener

JTextField : DocumentListener

import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

public class TestClass {
    JLabel mLabel = new JLabel("TEST");
    JTextField mTextField = new JTextField("TEST");

    TestClass() {
        mLabel.addPropertyChangeListener(new MyChangeListener());
        mTextField.getDocument().addDocumentListener(new MyDocumentListener());
    }

    private class MyChangeListener implements PropertyChangeListener {
        @Override
        public void propertyChange(PropertyChangeEvent evt) {
            if ("text".equals(evt.getPropertyName())) {

            }
        }
    }

    private class MyDocumentListener implements DocumentListener {
        @Override
        public void insertUpdate(DocumentEvent e) {

        }

        @Override
        public void removeUpdate(DocumentEvent e) {

        }

        @Override
        public void changedUpdate(DocumentEvent e) {

        }
    }
}
반응형
:

JLabel 텍스트 컬러 변경 하기

프로그래밍/java 2022. 6. 15. 22:22
반응형

JLabel 사용시 html 태그를 사용하여 컬러를 변경

package test.swing;

import javax.swing.*;
import java.awt.*;

public class MainTest {
    public static void main(String[] args) {
        MainUI mainUI = new MainUI();
        mainUI.setVisible(true);
    }
}

class MainUI extends JFrame {

    MainUI() {
        setPreferredSize(new Dimension(400, 300));
        setLayout(new FlowLayout());
        String text = "<html><font color=#FF0000>test</font>test" +
                "<font style=\"color: #FFFFFF; background-color: #0000FF\">test</font></html>";
        JLabel label = new JLabel(text);
        label.setToolTipText("");
        label.setPreferredSize(new Dimension(100, 100));
        add(label);
        pack();
    }
}

 

실행결과

반응형
: