노력과 삽질 퇴적물
JAVA: GUI 및 프레임 본문
* 아래의 예시소스들은 자바스윙을 기준으로 작성되었습니다.
* 자바 공식 API : http://docs.oracle.com/javase/7/docs/api/
1. 자바 윈도우 생성 -> 다음의 예제는 swing으로 했으며 awt와는 거의 유사합니다. |
|
① swing클래스를 객체 생성한 유형 | ② 포함에 의한 컨테이너 생성 유형. |
//package GUI_exercise; import javax.swing.JFrame; public class BasisFrame { public BasisFrame()//생성자 { } public static void main(String [] arr) { JFrame frame = new JFrame(); frame.setTitle("자바 GUI프로그래밍"); frame.setSize(300, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true);//JFrame의 SWING의 스레드 시작. } } | //package GUI_exercise; import javax.swing.JFrame; public class HasFrame extends JFrame { private JFrame frame;
public HasFrame() { frame = new JFrame("포함형 컨테이너"); frame.setSize(300, 400); frame.setVisible(true); }
public static void main(String[] args) { new HasFrame(); } } |
③ swing클래스를 상속받은 유형 | |
//package GUI_exercise; import javax.swing.JFrame; public class ExtendsJFrame extends JFrame { public Basis()//생성자 { super("확장형 컨테이너"); setSize(300, 400); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true);//JFrame의 SWING의 스레드 시작. }
public static void main(String [] arr) { ExtendsJFrame frame = new ExtendsJFrame();//JFrame자식클래스 // new ExtendsJFrame();//로도 가능 } } |
* JAVA가 객체지행 프로그램 언어인 만큼 앞으로의 설명&예시들은 책등의 예제와는 달리 가급적 상속시킨 코드로 진행됩니다.
2. 스윙 컴포넌트 활용하기 예시 -> 참고로, 메인함수가 있는 소스파일에서 실행이 가능하다. | |
//SwingSampleMain.java public class SwingSampleMain { public static void main(String[] message) { new SwingSample(); } } | //SwingSample.java import java.awt.BorderLayout; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; public class SwingSample extends JFrame { JPanel jp = new JPanel(); JLabel jl = new JLabel(); JTextField tf = new JTextField(25); JTextArea ta = new JTextArea(); JButton bt = new JButton("입력"); public SwingSample() { super("자바 스윙 컴포넌트 활용예시"); init(); } private void init() { ta.setEnabled(false); jp.setLayout(new FlowLayout()); jp.add(tf); jp.add(bt);
setLayout(new BorderLayout()); add(ta); add(jp, BorderLayout.SOUTH);
setSize(400, 300); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } } |
샘플1. 채팅 -> [2013-10-29] pnButtom이 식별상 오타라 pnButton으로 수정합니다. | |
샘플2. 계산기 | |
'📂기초 및 세팅 note > 언어. JAVA & JDK 계열' 카테고리의 다른 글
JAVA: 스레드 (0) | 2012.08.27 |
---|---|
JAVA: 이벤트처리 (0) | 2012.08.23 |
JAVA: 자바 기초 (4) (0) | 2012.08.08 |
이클립스: 설정 및 팁 (0) | 2012.07.20 |
JAVA: 자바 기초 (3) (0) | 2012.07.17 |