본문 바로가기

728x90
반응형

Java

[java]이것이 자바다 부록 Java UI 8 (Swing을 이용한 테이블 컴포넌트 1) 1. 테이블 컴포넌트 ▷ 테이블 형식의 데이터를 표시하고 편집할 수 있는 컴포넌트, 다른 컴포넌트에 비해서 다소 복잡한 구조임 이름 컬럼의 데이터는 모두 텍스트, 나이 컬럼의 데이터는 모두 숫자로 구성 ▷ 테이블은 컬럼과 행으로 구성, 컬럼과 행이 만나는 곳이 셀(실제 데이터가 표시되는 곳) ▷ 하나의 컬럼을 구성하는 셀들은 동일한 데이터 타입을 가져야 함 (1) 테이블 생성 ▷ 간단한 JTable 객체 만들기 : 컬럼 이름을 포함하고 있는 1차원 String 배열과 셀의 데이터인 2차원 Object 배열을 생성 ◎ 테이블 생성 예제 import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import .. 더보기
[java]이것이 자바다 부록 Java UI 7 (Swing을 이용한 리스트 컴포넌트) 1. 리스트 컴포넌트 ▷ 목록 중에서 항목을 선택할 수 있는 컴포넌트 ▷ JList : 목록에서 하나 이상의 항목을 선택, JComboBox : 버튼을 클릭시 목록이 보이고 그 중 하나를 선택 (1) JList ▷ 목록에서 하나 이상의 항목을 선택할 수 있는 컴포넌트 ▷ Vector 객체로 줄 수 있고 기본적으로 JLabel로 구성되어 있기 때문에 텍스트 이외에도 이미지 표현도 가능 ▷ 자동으로 스크롤 바가 생성되지 않으므로 JScrollPane에 추가해서 사용할 수 있음 ◎ JList를 이용한 사진 선택 예제 import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.util.Vector; imp.. 더보기
[java]이것이 자바다 부록 Java UI 6-1 (Swing을 이용한 텍스트 컴포넌트 2) 1. JEditorPane ▷ 다양한 타입의 문서를 보여주거나 편집이 가능한 멀티 라인의 텍스트 컴포넌트 ▷ 단순 텍스트, HTML 타입의 문서를 지원 ▷ HTML 문서를 표시할 경우 setEditable(false)를 호출해 편집할 수 없도록 하고, 사용자가 링크를 클릭할 경우 HyperlinkListener 등록해 HyperlinkEvent 이벤트를 처리할 수 있음 ▷ HyperlinkEvent는 마우스를 링크 위로 가져갔을 경우, 링크 바깥으로 가져갔을 경우, 링크를 클릭했을 경우 모두 발생 ◎ HTML을 삽입하는 예제 import java.awt.BorderLayout; import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.. 더보기
[java]이것이 자바다 부록 Java UI 6 (Swing을 이용한 텍스트 컴포넌트) 1. 텍스트 컴포넌트 ▷ 텍스트를 나타내거나 편집할 수 있는 컴포넌트를 말함 ▷ JLabel, JTextField, JPasswordField, JTextArea, JEditorPane, JTextPane 등이 있음 ▷ JLabel만 텍스트를 편집할 수 없고, 나머지는 텍스트를 편집할 수 있음 ▷ 편집 가능한 텍스트 컴포넌트는 모두 JTextComponent를 상속받아 각 컴포넌트의 특징에 맞게 설계됨 ▷ 단일 라인 텍스트 편집 : TextField, JPasswordField, 멀티라인 편집 : JTextArea, JEditorPane, JTextPane (1) JLabel ▷ JLabel은 편집할 수 없는 한 줄의 간단한 텍스트와 정적인 이미지를 보여주는 컴포넌트 ▷ 텍스트와 이미지의 배치는 정렬과 .. 더보기
[java]이것이 자바다 부록 Java UI 5 (Swing을 이용한 버튼 컴포넌트) 1. 버튼 컴포넌트 ▷ AbstractButton을 상속받은 하위 클래스들을 말함 ▷ JButton, JToggleButton, JRadioButton, JCheckBox가 있고, 모두 사용자가 마우스로 클릭하여 사용 할 수 있음 (1) JButton ▷ 이미지와 텍스트로 구성된 일반적인 버튼을 만들 때 사용함 ▷ setText() 메소드는 버튼의 텍스트를 설정하고, setIcon() 메소드는 버튼의 이미지를 설정함 ◎ 텍스트, 이미지, 텍스트+이미지 버튼을 생성 예제 import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; im.. 더보기
[java]이것이 자바다 부록 Java UI 4 (Swing을 이용한 이벤트 처리) 1. 이벤트 처리 ▷ UI 프로그램은 사용자와 상호작용을 하면서 코드를 실행함 ▷ 사용자가 UI의 컴포넌트를 사용하는 순간 이벤트가 발생, 프로그램은 이벤트를 처리하기 위해 코드를 실행함 ▷ 위임형 방식 : 이벤트가 발생하면 직접 처리하지 않고 소스에 추가된 리스너에게 이벤트 처리를 위임하는 방식 ▷ 동시에 여러 개의 이벤트가 발생하기도 함. ◎ 대표적 이벤트 및 이벤트 처리 리스너 NO 이벤트 소스 발생 이벤트 발생 원인 리스너 1 JFrame WindowEvent 중 하나를 클릭했을 때 WindowListene 2 JDialog WindowEvent 중 하나를 클릭했을 때 WindowListene 3 JTextField ActionEvent Enter 키를 눌렀을 때 ActionListener 4 J.. 더보기
[java]이것이 자바다 부록 Java UI 3 (Swing을 이용한 컴포넌트 배치 2) (4) CardLayout ▷ 여러 장의 카드를 포개 놓고 한 번에 하나의 카드를 보여주는 역할을 함, 카드는 하나의 JPanel로 구성됨. No CardLayout 메소드 설명 1 first(Container container) 첫 번째 배치한 카드를 보이게 한다. 2 last(Container container) 마지막에 배치한 카드를 보이게 한다. 3 next(Container container) 현재 카드 다음에 배치한 카드를 보이게 한다. 4 show(Container container, String name) 지정된 이름의 카드를 보이게 한다. ◎ CardLayout 사용 예제 package component; import java.awt.CardLayout; import java.awt.Co.. 더보기
[java] 이것이 자바다 부록 Java UI 2 (Swing을 이용한 컴포넌트 배치 1) 컴포넌트 배치 컨테이너에는 UI 컴포넌트(버튼, 체크박스, 라디오 버튼, 콤 포, 리스트 등)들이 배치됩니다. 컨테이너는 기본적으로 배치 관리자로 컴포넌트를 배치한다. 배치 관리자는 좌표값으로 컴포넌트를 배치하지 않고, 컨테이너를 몇 개의 구획으로 나누어 하나의 구획에 하나의 컴포넌트를 배치해준다. 배치 관리자로 배치하게 되면 컨테이너의 크기가 사용자에 의해 변경되더라도 컴포넌트의 크기가 비율적으로 늘거나 줄게되어 배치 모양이 그대로 유지된다는 장점이 있다. 크기가 고정된 컨테이너일 경우, 세밀한 배치를 위해서 좌표값으로 컴포넌트를 배치할 수도 있다. 02 Java UI - Swing 97 이 경우 컨테이너의 좌측 상단 모서리를 (0,0)으로 보고, x축과 y축 좌표로 컴포넌트의 위치를 정해서 배치한다... 더보기

728x90
반응형