스윙 애플리케이션에서 목록 상자를 만드는 방법?

May 12, 2025메시지를 남겨주세요

Java Swing 애플리케이션 영역에서 목록 상자는 사용자가 목록에서 하나 이상의 항목을 선택할 수있는 귀중한 구성 요소입니다. 신뢰할 수있는 목록 박스 공급 업체로서 사용자 인터페이스를 향상시키는 데있어 설계된 목록 상자의 변형력을 직접 목격했습니다. 이 블로그 게시물에서는 기본에서보다 고급 구성에 이르기까지 스윙 애플리케이션에서 목록 상자를 작성하는 프로세스를 안내합니다.

Impeller 2

전제 조건

목록 상자를 만들기 전에 Java 프로그래밍과 Java Swing Library에 대한 기본적인 이해가 필요합니다. Swing은 Java 용 GUI (그래픽 사용자 인터페이스) 위젯 툴킷입니다. 시각적으로 매력적이고 사용자 친화적 인 응용 프로그램을 만드는 데 사용할 수있는 풍부한 구성 요소 세트를 제공합니다.

기본 목록 상자 생성

목록 상자를 만드는 가장 간단한 형태부터 시작하겠습니다. 다음 Java 코드는 몇 가지 샘플 항목으로 기본 목록 상자를 만드는 방법을 보여줍니다.

```Java 가져 오기 Javax.swing.; Java.awt를 가져옵니다.;

public class basiclistboxexample {public static void main (string [] args) {// jframe jframe frame = new Jframe 만들기 ( "기본 목록 상자 예"); frame.setDefaultCloseOperation (jframe.exit_on_close); frame.setsize (300, 200);

// 목록 상자 문자열에 대한 항목 배열을 만듭니다. // jlist <string> listbox = new Jlist <> (항목)로 JLIST (List Box)를 만듭니다. // 목록 상자를 스크롤 가능한 jscrollpane scrollpane = new jscrollpane (listbox)로 만들기 위해 jscrollpane을 만듭니다. // 스크롤 창을 프레임 프레임에 추가합니다 .GetContentPane (). 추가 (ScrollPane, BorderLayout.Center); // 프레임을 보이시는 프레임으로 만듭니다 .setVisible (true); }

}```

이 코드에서 먼저 a를 만듭니다JFrame스윙 애플리케이션의 주요 창입니다. 그런 다음 목록 상자의 항목 역할을하는 문자열 배열을 정의합니다. 그만큼JLIST생성자는이 배열을 목록 상자를 만들기위한 인수로 가져갑니다. 목록 상자에는 가시 영역에 들어갈 수있는 것보다 더 많은 항목이 포함될 수 있으므로jscrollpane스크롤 가능하게 만들기 위해. 마지막으로 스크롤 창을 프레임에 추가하고 프레임을 보이게 만듭니다.

목록 상자 사용자 정의

위에서 만든 기본 목록 상자는 기능적이지만 응용 프로그램의 모든 요구 사항을 충족하지는 않습니다. Swing은 목록 상자의 모양과 동작을 사용자 정의하는 몇 가지 방법을 제공합니다.

항목 선택

기본적으로 목록 상자는 단일 선택 모드를 허용합니다. 그러나 여러 선택 모드로 변경할 수 있습니다. 방법은 다음과 같습니다.

0061

Java // JList 작성 jlist jlist <string> listbox = new Jlist <> (항목); // 선택 모드를 여러 선택 ListBox.SetSelectionMode로 설정합니다 (listSelectionModel.Multiple_Interval_Selection);

이 코드에서는 다음을 사용합니다setSelectionMode방법의 방법JLIST수업. 그만큼ListSelectionModel.multiple_interval_selectionConstant를 사용하면 사용자가 목록 상자에서 여러 비 연속 항목을 선택할 수 있습니다.

렌더링 아이템

목록 상자에 항목이 표시되는 방식을 사용자 정의 할 수도 있습니다. 예를 들어, 텍스트와 함께 이미지를 표시 할 수 있습니다. 이를 위해서는 사용자 정의 셀 렌더러를 만들어야합니다. 간단한 예는 다음과 같습니다.

```Java 가져 오기 Javax.swing.; Java.awt를 가져옵니다.;

Class CustomListCellrenderer는 DefaultListCellrenderer를 확장합니다. {@Override public 구성 요소 GetListCellrendererComponent (jlist <?> 목록, 객체 값, int 인덱스, 부울 isselected, 부울 셀 하스 포커스) {component c = super.getListCellrendercomponent (list, value, asselected, cellhasfocus); if (index % 2 == 0) {c.setbackground (color.light_gray); } else {c.setbackground (color.white); } 반환 c; }}

공개 클래스 CustomListboxExample {public static void main (String [] args) {jframe frame = new Jframe ( "사용자 정의 목록 상자 예"); frame.setDefaultCloseOperation (jframe.exit_on_close); frame.setsize (300, 200);

문자열 [] 항목 = { "항목 1", "항목 2", "항목 3", "항목 4"}; jlist <string> listbox = new Jlist <> (항목); // 사용자 정의 셀 렌더러 ListBox.setCellrenderer를 설정합니다 (new CustomListCellrenderer ()); jscrollpane scrollpane = 새로운 jscrollpane (listbox); frame.getContentPane (). Add (ScrollPane, BorderLayout.Center); frame.setVisible (true); }

}```

이 예에서는 확장하여 사용자 정의 셀 렌더러를 만듭니다.DefaultListCellrenderer수업. 우리는getListCell 렌더러 구성 요소방법 목록 상자의 다른 모든 항목의 배경색을 변경하는 방법.

데이터 모델로 작업합니다

보다 복잡한 응용 프로그램에서는 데이터 모델을 사용하여 목록 상자의 항목을 관리 할 수 ​​있습니다. 그만큼DefaultListModel수업은 편리한 방법입니다. 예는 다음과 같습니다.

```Java 가져 오기 Javax.swing.; Java.awt를 가져옵니다.;

public class datamodellistboxexample {public static void main (String [] args) {jframe frame = new Jframe ( "데이터 모델 목록 상자 예"); frame.setDefaultCloseOperation (jframe.exit_on_close); frame.setsize (300, 200);

// defaultListModel을 만듭니다. defaultListModel <string> listModel = new defaultListModel <> (); ListModel.AddElement ( "항목 A"); ListModel.AddElement ( "항목 B"); ListModel.AddElement ( "항목 C"); // 데이터 모델로 JLIST를 만듭니다 jlist <string> listbox = new Jlist <> (ListModel); jscrollpane scrollpane = 새로운 jscrollpane (listbox); frame.getContentPane (). Add (ScrollPane, BorderLayout.Center); frame.setVisible (true); }

}```

데이터 모델을 사용하면 런타임에 목록 상자의 항목을 쉽게 추가, 제거 또는 수정할 수 있습니다.

실제 세계 응용 프로그램과 통합

목록 박스 공급 업체로서, 목록 상자는 종종 실제 세계 애플리케이션에서 다양한 유형의 데이터를 표시하고 관리하는 데 사용됩니다. 예를 들어, 유체 기계 부품 관리 응용 프로그램에서 목록 상자를 사용하여 다음과 같은 다른 부품을 표시 할 수 있습니다.임펠러 1,,,임펠러 2, 그리고담수화 수도관.

0413

다음은 목록 상자를 유체 기계 부품 관리 애플리케이션에 통합하는 방법에 대한 간단한 예입니다.

```Java 가져 오기 Javax.swing.; Java.awt를 가져옵니다.;

Desalination Water Pipe

공개 클래스 flugidmachinerypartslistboxexample {public static void main (String [] args) {jframe frame = new Jframe ( "Fluid Machinery Parts List Box"); frame.setDefaultCloseOperation (jframe.exit_on_close); frame.setsize (300, 200);

defaultListModel <string> partsModel = new defaultListModel <> (); partsmodel.addelement ( "임펠러 1"); partsmodel.addelement ( "임펠러 2"); partsmodel.addelement ( "Decalination Water Pipe"); jlist <string> partslistbox = new Jlist <> (partsmodel); jscrollpane scrollpane = 새로운 jscrollpane (partslistbox); frame.getContentPane (). Add (ScrollPane, BorderLayout.Center); frame.setVisible (true); }

}```

결론

스윙 애플리케이션에서 목록 상자를 만드는 것은 간단한 프로세스이지만 높은 수준의 유연성과 사용자 정의를 제공합니다. 간단한 응용 프로그램이나 복잡한 엔터프라이즈 - 레벨 시스템을 구축하든 목록 상자는 사용자 경험을 크게 향상시킬 수 있습니다.

목록 박스 공급 업체로서, 스윙 애플리케이션에 신뢰할 수 있고 쉽게 통합 할 수있는 고품질 목록 상자 구성 요소를 제공하기 위해 노력하고 있습니다. 목록 상자 오퍼링을 탐색하거나 프로젝트에서 목록 상자를 만드는 것에 대한 질문이 있으시면 조달 및 추가 토론을 위해 저희에게 연락하는 것이 좋습니다.

참조

  • Joshua Bloch의 "효과적인 Java"
  • Herbert Schildt의 "Java Swing : 초보자 가이드"