찾다
Javajava지도 시간Swing에서 JDialog에 구성 요소를 동적으로 추가하려면 어떻게 해야 합니까?

How Can I Dynamically Add Components to a JDialog in Swing?

JDialog의 필수 구성 요소 추가

Swing 기반 애플리케이션을 사용할 때는 UI 요소를 효율적으로 관리하는 것이 중요합니다. 이 기사에서는 JDialog에 구성 요소를 동적으로 추가하는 일반적인 과제에 대해 자세히 설명합니다.

시나리오

JDialog의 버튼이 JLabel 추가를 트리거하는 시나리오를 구상해 보세요. 및 JTextField, 다음에서 대화 상자를 변환합니다.

[버튼 전 대화 상자 이미지 클릭]

대상:

[버튼 클릭 후 대화상자 이미지]

문제

그러나 대화 상자의 새로운 구성 요소는 종종 성공하지 못합니다. 대화 상자는 변경되지 않은 상태로 유지되므로 개발자는 머리를 긁적입니다.

해결책

새로운 구성 요소를 대화 상자에 성공적으로 통합하려면 다음을 준수해야 합니다. 단계:

  1. add()를 사용하여 컨테이너에 새 구성 요소를 추가합니다. 메서드.
  2. 컨테이너에서 유효성 검사() 메서드를 호출하여 레이아웃을 강제로 업데이트합니다.
  3. 컨테이너에서 repaint() 메서드를 호출하여 시각적 개체를 새로 고칩니다.

솔루션을 설명하려면 다음 코드를 고려하세요. 조각:

@Action
public void addNewField() {
    Container contentPane = getContentPane();
    JLabel label = new JLabel("welcome");
    label.setBounds(10, 10, 100, 10); // Specify X & Y coordinates
    contentPane.add(label);

    contentPane.validate();
    contentPane.repaint();
    this.pack();
}

이러한 단계를 따르면 새 JLabel 추가를 반영하여 대화 상자가 동적으로 업데이트됩니다.

추가 고려 사항

NetBeans의 "Free Design" 레이아웃과 같은 특정 레이아웃 관리자로 작업할 때 새 레이아웃의 경계를 명시적으로 지정하는 것이 좋습니다. setBounds() 메서드를 사용하는 구성 요소입니다. 이렇게 하면 구성 요소가 대화 상자 내에서 원하는 위치에 표시됩니다.

위 내용은 Swing에서 JDialog에 구성 요소를 동적으로 추가하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)