2 minute read

✏️JTable

  • 행과 열이 존재하여 표의 형태로 자료를 편집하고 관리할 수 있는 컴포넌트

  • JTable 역시 Scrollable 인터페이스가 구현되어있어 JScrollPane에 붙여 스크롤 할 수 있으며 모델로는 TableModel을 사용한다.

*셀 : 행과 열이 만나는 곳
*레코드 : 각 행

생성자
• JTable() : 기본 테이블 모델을 가진 빈 테이블을 생성한다.

• JTable(int numRows, int numColunms) : 지정된 행과 열의 수를 가진 테이블 생성한다.

• JTable(Object[][] rowData, Object[][ columnNames) : 첫 번째 매개변수는 테이블에 들어갈 데이터이므로 오브젝트 타입의 2차원 배열을 받는다. 두 번째 매개변수는 테이블 첫 번째 행에 들어가 데이터를 구분 짓는 열의 이름이 들어간다.

• JTable(TableModel dm) : 새 테이블 모델을 가진 테이블을 생성한다.  
  • DefaultTableModel : TableModel 인터페이스의 구현클래스
    일반적으로 사용자가 모델을 설정하여 고유 테이블 모델을 만들어 사용하는데, 만드는 방법은 TableModel 인터페이스를 구현하거나, DefaultTableModel을 상속하는 방법이 있다.

  • 기본 테이블 모델 클래스를 사용하여 테이블의 데이터를 추가, 삭제할 수 있다.

  • 따라서, 기본 테이블 모델을 생성한 다음 JTable 생성자로 넘겨준다.


*addRow() : 기본 테이블 모델에 새로운 행 추가
*addRemove() : 행 삭제

✏️JTree

  • 트리구조 또는 계층적인 데이터를 표시하는데 사용되는 컴포넌트

  • 일반적인 컴퓨터의 파일 시스템과 네트워크 자원의 개념은 디렉토리나 파일이 존재하는 트리 구조의 형태를 취하고 있으며 자료를 몇 단계로 겹쳐진 계층정보를 GUI에 표시하려면 트리가 가장 적합

    • 단순히 데이터 뷰만 제공하고 트리 객체 안에 데이터가 저장되진 않는다.
    • 각 트리는 하나의 root node를 가진다. 다른 노드들은 루트 노드에서 파생된다.
    • 기본적으로 ScrollPane으로 전달하여 사용한다.
생성자

• JTree() : 기본 샘플 노드를 가진 JTree를 생성한다.

• JTree(Object[]) : 지정된 배열의 각 요소를 새로운 root node의 child의 JTree를 생성한다

• JTree(TreeNode root) : 지정된 TreeNode를 루트로 하는 트리를 생성하고 일반적으로 DefaultMutableTreeNode 클래스의 객체를 지정한다. 

• JTree(TreeModel) : 트리 모델의 루트 노드를 사용하여 트리를 생성하고, 일반적으로 DefaultTreeModel 클래스를 사용한다.  

✏️JInternalFrame

  • 내부프레임

    • 사용하기 위해선 항상 컨테이너에 집어넣어야 한다.
    • 사이즈를 지정해주어야 한다
    • 위치를 지정해주어야 한다.
    • setVisible 설정해야 한다.
  • JDecktopPane은 JInternalPane의 부모격으로 쓰이게 된다.

생성자  

- JInternalFrame() : 빈 내부프레임 생성

- JInternalFrame (title, resizable, closable, maximized, conifiable)
: title에는 프레임의 제목을 전달한다. 
: resizable이 true면 사이즈를 재조정할 수 있게 함
; closable이 true면 창이 닫힐 수 있게 함
: maximized가 true면 창이 최대화 될 수 있게 함
: iconifiable이 true면 아이콘화 할 수 있게 함

✏️JMenu

  • awt의 메뉴와 비슷하다.
  • 창에 메뉴 모음 및 메뉴 항목을 표시한다. 메뉴 항목은 계층 수, 아이콘 등 다른 모든 구성 요소를 볼 수 있다.
사용방법)

JMenuItem에 메뉴의 항목을 추가하고 JMenu에 JMenuItem을 추가한 다음 JMenuBar를 통해 메뉴를 표시하고자 하는 컴포넌트에 추가한다.

생성자)
JMenu : 텍스트가 없는 JMenu 생성
JMenu(Action a) : 지정된 action으롭터 프로퍼티를 취득하는 메뉴 생성

✏️JDialog

  • 보여주고자 하는 내용을 스크린에 출력하고, 사용자로부터 입력을 받는 대화상자
  • 일반적으로 버튼 클릭과 같은 이벤트에 반응해서 팝업된다.
- 생성자
 JDialog (frame, title) : frame은 dialog의 주인이고, title은 dialog의 제목이 된다.  

- 다이얼로그의 타입은 modal/ modeless 두 가지가 있다.  
	modal : 다이얼로그가 일단 출력되면 다이얼로그를 닫기 전에는 다른 작업을 전혀 할 수 없도록 사용자 입력을 독점하는 타입  

	modeless : 다른 창과 모달리스 다이얼로그가 각자 독립적으로 작동하는 타입으로 모달리스 다이얼로그를 열어 놓은 채 다른 창에서 입력 작업이 가능함  

	JDialog (frmae, title, boolean modal)로 true면 modal dialog가 생성된다.

✏️JFileChooser

  • 한글이나 워드를 사용할 때, 파일 읽기나 쓰기를 하려고 메뉴를 선택하면 파일의 이름을 선택하는 다이얼로그 (파일 다이얼로그)를 구현하는 컴포넌트
- 생성자
JFileChooser()

• FileNameExtensionFilter class : 파일 다이얼로그가 특정 확장자를 가진 파일만 보여주기 위해 사용

• setFileFilter() : 파일 필터를 설정하는 메소드

• setFileSelectionMode() : 파일 다이얼로그에서 파일이나, 디렉토리, 혹은 둘 다 선택 가능하도록 설정 할 수 있음

• showOpenDialog() : 파일 다이얼로그를 화면에 출력

• getSelectedFile() : 선택한 파일 객체를 리턴 (파일 객체 리턴)