앞의 글에 이어서 Song 리스트를 JTable로 보여주는 방법을 살펴본다. 결과는 다음과 같은 화면으로 보여진다. 이전 버전에서 바뀌는 내용 GUIMain의 가운데 있던 JLabel 대신에 JTable 객체가 스크롤패널에 들어가게 된다. 하단의 텍스트필드가 표의 컬럼 수만큼 생기고 그것을 통해 Song의 수정과 추가가 가능해진다. 한 곡의 정보를 엔진과 GUI 사이에 주고 받기 위해 String[]을 이용하게 된다. song_table 패키지 GUIMain : JFrame을 상속하여 메인 윈도우의 역할을 하는 클래스다. TablePanel: 실제 보여질 화면 내용을 가지는 클래스다. 테이블 부분(tableControlloer)과 아래쪽 패널(bottom)을 포함하여 화면을 구성하는 클래스다. Table..
1단계: 노래 데이터를 JLabel에 보여주고 검색, 수정, 삭제 기능 제공 2단계: 노래 데이터를 JTable에 보여주고 검색, 수정, 추가, 삭제 기능 제공 3단계: 파사드 패턴을 이용해서 재사용가능한 JTable 기능 제공 앞에서 살펴본 Manager와 Manageable, 그리고 제너릭으로 구현된 SongMgr 클래스를 이용하여 다음과 같이 입력파일에서 입력 받아 Song 클래스 객체를 만들어 관리자가 관리하는 프로그램을 만들 수 있다. 다음은 콘솔 화면에서 파일 입력과 출력을 하는 클래스를 보여준다. public class SongConsoleMain extends Manager { public SongConsoleMain() { readAllSongs("songs.txt"); } void re..
데이터 파일로부터 읽어들인 매니저에서 JTable을 이용하여 GUI 화면을 구성하는 프로그램을 재사용가능하게 구현해 보고자 한다. 어떤 데이터 요소든 그에 맞게 테이블을 구성하고 열과 테이블 헤더를 구성할 수 있게 한다 검색과 수정, 삭제, 추가 기능을 가지는 JTable과 GUI 부분을 데이터가 달라져도 재사용할 수 있게 한다 데이터를 입력하고 구동하는 엔진 부분에서 GUIMain 객체를 호출하는 것으로 GUI가 시작되게 한다. 한 곡의 정보가 네 개의 항으로 구성되고 이것이 String[] 배열에 의해 데이터 엔진 부분과 연결된다. 이와 같이 동작하도록 작성한 프로그램에서 다음과 같이 두 개의 다른 데이터 파일에 대해 같은 방식으로 화면을 구성하도록 할 수 있다. 이렇게 하기 위해서 재사용 코드를 최..
- Total
- Today
- Yesterday
- Camel Style
- APPEND
- contentEquals
- format
- comparable
- rust
- follow
- Lazy evaluation
- 스트링 +
- python example
- Iterator
- max
- CompareTo
- python exercise
- TypeError
- 자바regex
- 동적바인딩
- ToString
- 이터러블
- contains
- 콜렉션
- typedef
- C++ 클래스
- 스트링
- sort key
- 이터레이터
- zip
- indexof
- 지연계산
- 패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |