1. 실습(1)
/*
* Swing과 AWT의 차이점
* AWT : 플랫폼에 종속적
* Swing : 플랫폼에 독립적(JVM이 직접 구현)
*/
public class Ex{
public static void main(String[] args) {
JFrameTest ex = new JFrameTest();
}
}
class JFrameTest extends JFrame{
Dimension d;
public JFrameTest(){
super("Swing JFrame Test");
d = new Dimension(300,200);
setSize(d);
setVisible(true);
// 생략 가능(기본적으로 숨어있음)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2. 실습(2)
public class Ex2 {
public static void main(String[] args) {
JframeTest2 ex = new JframeTest2();
}
}
class JframeTest2 extends JFrame{
JButton btn1, btn2, btn3;
public JframeTest2(){
super("JButton Test");
setLayout(new FlowLayout());
// btn1 = new JButton("One");
// btn2 = new JButton("Two");
// btn3 = new JButton("Three");
btn1 = new JButton(new ImageIcon("D:/workspace/Swing/btn1.jpg"));
btn1.setPressedIcon(new ImageIcon("D:/workspace/Swing/btn2.jpg"));
btn1.setRolloverIcon(new ImageIcon("D:/workspace/Swing/btn3.jpg"));
btn1.setSize(50,50);
btn2 = new JButton("Two");
btn3 = new JButton("Three");
add(btn1);
add(btn2);
add(btn3);
setSize(new Dimension(300, 200));
setVisible(true);
}
}
3. 실습(3)
public class Ex3 {
public static void main(String[] args) {
JFrameTest3 ex = new JFrameTest3();
}
}
class JFrameTest3 extends JFrame{
JCheckBox cb1, cb2, cb3;
JRadioButton rb1, rb2, rb3, rb4, rb5, rb6;
JPanel p1,p2,p3;
public JFrameTest3(){
super("체크&라디오 박스 테스트");
p1 = new JPanel();
cb1 = new JCheckBox("JAVA",true);
cb2 = new JCheckBox("JSP",false);
cb3 = new JCheckBox("Android",false);
p1.add(cb1);
p1.add(cb2);
p1.add(cb3);
add(p1,BorderLayout.NORTH);
p2 = new JPanel();
rb1 = new JRadioButton("남자",true);
rb2 = new JRadioButton("여자",false);
// 라디오 버튼을 그룹화
p2.add(rb1);
p2.add(rb2);
ButtonGroup gr1 = new ButtonGroup();
gr1.add(rb1);
gr1.add(rb2);
add(p2,BorderLayout.CENTER); // 위치 생략시 CENTER
p3 = new JPanel();
rb3 = new JRadioButton("10대",true);
rb4 = new JRadioButton("20대",false);
rb4 = new JRadioButton("30대",false);
p3.add(rb3);
p3.add(rb4);
ButtonGroup gr2 = new ButtonGroup();
gr2.add(rb3);
gr2.add(rb4);
add(p3,BorderLayout.SOUTH);
setSize(new Dimension(300,150));
setVisible(true);
}
}
4. 실습(4)
public class Ex4 {
public static void main(String[] args) {
JFrameTest4 ex = new JFrameTest4();
}
}
class JFrameTest4 extends JFrame {
JProgressBar progress;
public JFrameTest4() {
setLayout(new FlowLayout());
progress = new JProgressBar(0, 100);
progress.setValue(0);
progress.setStringPainted(true); // 퍼센테이지 보이게 하기
add(progress);
setSize(300, 150);
setVisible(true);
progress_start();
}
public void progress_start() {
int i;
try {
for(i=0; i<=100; i++){
progress.setValue(i);
Thread.sleep(50);
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
5. 실습(5)
public class Ex5 {
public static void main(String[] args) {
JFrameTest5 ex = new JFrameTest5();
}
}
class JFrameTest5 extends JFrame implements ActionListener{
JButton btn1, btn2, btn3, btn4;
public JFrameTest5(){
setLayout(new FlowLayout());
btn1 = new JButton("Message");
btn2 = new JButton("Confirm");
btn3 = new JButton("Input");
add(btn1);
add(btn2);
add(btn3);
btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
setBounds(300,200,300,300);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
//버튼 내용이 btn1과 같냐고 묻는 것
if(e.getSource() == btn1){
JOptionPane.showMessageDialog(this, "메세지 보여주기!");
}else if(e.getSource()==btn2){
int ans = JOptionPane.showConfirmDialog(this, "종료할까요?");
if(ans == JOptionPane.YES_OPTION) System.exit(0);
}else if(e.getSource()==btn3){
String str = JOptionPane.showInputDialog("암호를 입력하시오.");
System.out.println(str);
}
}
}
'N스크린하이브리드앱과정 > JAVA' 카테고리의 다른 글
[7주][5일][3~4th] JAVA: Mysql Workbench 설치(mysql 윈도 버전) - 자바 끝! (0) | 2013.08.30 |
---|---|
[7주][4~5일][3~4th] JAVA: Swing으로 회원조회 프레임 구현하기(진행중) (0) | 2013.08.29 |
[7주][2일][3~4th] JAVA: JDBC 용어 정리, insert/update/delete/select (0) | 2013.08.27 |
[7주][1일][3~4th] JAVA: JDBC 용어 정리, 이클립스에서 JDBC 설정. (0) | 2013.08.26 |
[6주차 과제] JAVA: 1~5단계 만들기, 계산기 만들기 (0) | 2013.08.25 |