자바 스윙 JList 목록 상자 구현

1.개술
공식 자바 DocsApi:javax.swing.JList
JList,목록 상자.JList 는 사용자 가 하나 이상 의 옵션 을 선택 할 수 있 도록 목록 으로 여러 옵션 을 보 여 줍 니 다.이 옵션 의 내용 은 ListModel 인 스 턴 스 로 유 지 됩 니 다.JList 는 직접 스크롤 을 실현 하지 않 고 스크롤 디 스 플레이 가 필요 하 며 JScrollpane 과 결합 하여 스크롤 효 과 를 실현 할 수 있 습 니 다.
JList 상용 구조 방법:

/**
 *    JList         ListModel   。
 * ListModel         ,                   JList      。
 */
JList()

JList(ListModel dataModel)

JList(Object[] listData)

JList(Vector<?> listData)

JList 옵션 데이터 관련 방법:

//            ,         ListModel
void setListData(Object[] listData)

//            ,         ListModel
void setListData(Vector<?> listData)

//           ListModel
void setModel(ListModel<?> model)

//           ListModel。
//     listModel.getElementAt(int index)   listModel.getSize() 
//                       。
ListModel<?> getModel()
JList 옵션 색인 선택 방법:

//       ,     :     、     、     
void setSelectionMode(int selectionMode)

//         
void setSelectedIndex(int index)

//          
void setSelectedIndices(int[] indices)

//             
int getSelectedIndex()

//            
int[] getSelectedIndices()
JList 글꼴 과 색상 관련 방법:

//     
void setFont(Font font)

//       (    )
void setForeground(Color fg)

//            
void setSelectionForeground(Color selectionForeground)

//         
void setSelectionBackground(Color selectionBackground)
JList 모니터 관련 방법:

//                
void addListSelectionListener(ListSelectionListener listener)
2.코드 인 스 턴 스

package com.xiets.swing;

import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.*;

public class Main {

  public static void main(String[] args) {
    JFrame jf = new JFrame("    ");
    jf.setSize(300, 300);
    jf.setLocationRelativeTo(null);
    jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    JPanel panel = new JPanel();

    //      JList   
    final JList<String> list = new JList<String>();

    //         
    list.setPreferredSize(new Dimension(200, 100));

    //         
    list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    //       (         ListModel )
    list.setListData(new String[]{"  ", "  ", "  ", "  "});

    //                
    list.addListSelectionListener(new ListSelectionListener() {
      @Override
      public void valueChanged(ListSelectionEvent e) {
        //             
        int[] indices = list.getSelectedIndices();
        //         ListModel
        ListModel<String> listModel = list.getModel();
        //        
        for (int index : indices) {
          System.out.println("  : " + index + " = " + listModel.getElementAt(index));
        }
        System.out.println();
      }
    });
    
    //        
    list.setSelectedIndex(1);

    //          
    panel.add(list);

    jf.setContentPane(panel);
    jf.setVisible(true);
  }
}
결과 전시:

옵션(Ctrl 키 를 누 르 면 다 중 선택 가능)을 누 르 면 콘 솔 출력 을 볼 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기