jlist 예제

  • 0

jlist 예제

이 예제에서는 Java 스윙 JList를 사용하는 방법을 보여 주려고하며 JList는 요소 목록을 표시 할 수있는 스윙 구성 요소입니다. 또한 이 구성 요소를 사용하면 하나 이상의 요소를 시각적으로 선택할 수 있습니다. 이 문서에서는 JList를 사용하여 JList 기능을 사용하여 작업하는 방법을 보여 주며 JList를 사용하여 직원 이름 목록을 표시하고 JList에서 동적으로 단일 이름을 추가/제거하도록 하는 간단한 예제를 보여 주시겠습니다. 코드는 배열을 목록의 생성자에게 전달합니다. 배열은 다른 개체에서 전달된 문자열로 채워져 있습니다. 이 예에서 문자열은 소년의 이름으로 발생합니다. JList는 이중 또는 삼중(또는 N) 마우스 클릭에 대한 특별한 처리를 제공하지 않지만 이러한 이벤트에 대한 조치를 취하려는 경우 MouseListener를 쉽게 추가할 수 있습니다. locationToIndex 메서드를 사용하여 클릭한 셀을 확인합니다. 예: 이전에 보여 드신 ListDemo 예제에는 내용이 변경될 수 있는 목록이 있습니다. ListDemo.java에서 ListDemo의 소스 코드를 찾을 수 있습니다. 다음은 변경 가능한 목록 모델 개체를 만들고, 초기 항목을 넣고, 목록 모델을 사용하여 목록을 만드는 ListDemo 코드입니다. JList는 선택 모드에서 두 개 이상의 항목을 선택할 수 있도록 허용하는 경우 선택을 설정하거나 가져오는 다른 방법을 제공합니다.

원하는 경우 목록 자체가 아니라 목록 선택 모델에서 이벤트를 수신할 수 있습니다. ListSelectionDemo는 목록 선택 모델에서 목록 선택 이벤트를 수신하는 방법을 보여 주며 목록의 선택 모드를 동적으로 변경할 수 있는 예제입니다. JList는 요소 목록을 표시할 수 있는 스윙 구성 요소입니다. 또한 이 구성 요소를 사용하면 하나 이상의 요소를 시각적으로 선택할 수 있습니다. 이 문서에서는 JList를 사용하여 작업하는 방법을 보여 주며 몇 가지 예제를 보여 줄 수 있습니다. 사용자 지정 셀 렌더러가 있는 목록의 예제는 제공하지 않지만 사용자 지정 렌더러가 있는 콤보 상자의 예가 있고 콤보 상자는 목록과 동일한 유형의 렌더러를 사용합니다. 사용자 지정 렌더러 제공에 설명된 예제를 참조하십시오. JList의 셀 페인팅은 셀렌더 속성으로 목록에 설치된 셀 렌더러라는 대리자에서 처리됩니다. 렌더러는 셀을 페인트하는 “고무 스탬프”와 같이 사용되는 java.awt.Component을 제공합니다. 셀을 페인팅해야 할 때마다 목록의 ListUI는 셀 렌더러에게 구성 요소에 대해 묻고, 해당 구성 요소를 제자리에 이동하고, 도색 방법을 통해 셀의 내용을 페인트하도록 합니다.

JLabel 구성 요소를 사용하여 렌더링하는 기본 셀 렌더러는 목록의 ListUI에 의해 설치됩니다. // 목록의 각 개체에 대한 아이콘과 문자열을 표시합니다. 클래스 MyCellRenderer 확장 JLabel 구현 ListCellRenderer { 최종 정적 이미지아이콘 longIcon = 새로운 이미지 아이콘 (“long.gif”); 최종 정적 이미지 아이콘 = 새로운 이미지 아이콘 (“short.gif”); // 이것은 ListCellRenderer에 의해 정의 된 유일한 방법입니다. / 호출될 때마다 JLabel을 다시 구성합니다. public 구성 요소 getListCellRenderer 구성 요소 (JList 목록, // 목록 개체 값, // 값 int 인덱스를 표시 하려면, // 셀 인덱스 부울선택, // 셀 선택 된 부울 셀HasFocus) // 셀에 포커스 {문자열 s = value.toString(); setText(들); setIcon ((s.length() > 10) ? longIcon : 짧은 아이콘); (선택) {setBackground(list.getSelectionBackground()); 세트포그라운드(list.getSelectionForeground()); } 다른 {setBackground(list.getBackground()); setForeground(list.getForground)); }setEnabled(list.isEnabled()); 세트폰트(list.getFont()); setOpaque (사실); 이 것을 반환합니다. } myList.setCellRenderer(새 MyCellRenderer()); 셀 렌더러의 또 다른 작업은 목록의 크기 조정 정보를 확인하는 데 도움이 됩니다. 기본적으로 목록의 ListUI는 셀 렌더러에게 각 목록 항목에 대해 선호하는 크기를 요청하여 셀 크기를 결정합니다. 이 항목의 큰 목록에 대 한 비용이 많이 들 수 있습니다.


Recent Post

큐 스택 예제

마크업 예제

리눅스 qt 예제

Categories

  • No categories
Leave us a message if you have any question...
Powered by
Website is Protected by WordPress Protection from eDarpan.com.