2024년 3월 8일 금요일

자바 스윙 컴퍼넌트 샘플 따라하기(JComboBox,JTable,JList)


JComboBox

여러 선택할수 있는 리스트를 출력해주는 컴포넌트
⁠label.setHorizontalAlignment(JLabel.CENTER)
레이블 영역의 텍스트를 가운데 정렬
⁠String languages[]={"C","C++"}
final JComboBox cb=new JComboBox{languages) 
배열의 데이터들을 콤보박스안에 보여짐
⁠cb.getItemAt(cb.getSelectedIndex())
선택한 콤보박스의 데이터를 가져옴

JTable

데이터를 행과열의 형태인 표로 보여주는 컴포넌트
⁠String data[][]={{"101",Amit"},{"102","Jai"}
String column[]={"id","name"}
final JTable jt=new JTable(data,column)
열의 명과 데이터를 셋팅하여 객체생성함
⁠jt.setCellSelectionEnabled(true)
행과 열을 동시에 선택할수 있는 선택모드
⁠ListSelectionModel select=jt.getSelectionModel();
⁠select.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
테이블의 로우를 오직 한개만 선택하게 해줌
⁠select.addListSelectionListenner(new ListSelectionEvent e)
버튼과 다른 리스트의 이벤트 처리
⁠public void valueChanged(ListSelectionEvent e)
로우 선택시 해당 메서드가 호출
⁠int[]row=jt.getSelectedRows()
여러개 로우를 선택시 배열로 담김
⁠int[]columns=jt.getSelectedColumns();
선택의 열들을 배열로 담음
⁠jt.getValueAt(row[i],columns[j])
해당위치의 데이터를 가져옴

JList

여러 데이터를 보여주는 리스트 컴포넌트
⁠final DefaultListModel<String>l1=new DefaultListModel<>()
l1.addElement("")
final JList<String> list1=new JList<>(l1) 
아이템을 추가하여 리스트를 생성
⁠b.addActionListener(new ActionListener()){}
해당 개체의 액션 발생시 메서드 수행
⁠if(list1.getSelectedIndex() != -1)
list1.getSelectedValue();
선택한 위치의 인덱스를 반환 → 값이 없는 경우에만 수행
⁠list2.getSelectedValues()
여러개의 선택된 데이터를 배열로 리턴 최신 자바 버전에서는 deprecated(사용하지 않음)이라 ⁠getSelectedValuesList().toArray() 를 사용해줘야 함

댓글 없음:

댓글 쓰기