728x90
SMALL
물론 이 코드는,,, 어쩌고 입니다...
교재 93p
package MyGui;
import java.awt.*;
import java.awt.event.*;
//AWT화면을 구성하는 클래스
public class MyFrame {
private Frame fr;//메인 화면 객체
private Label label;
private Panel panel;
public MyFrame() {
initFrame();
}
//메인화면에 대한 설정
private void initFrame() {
fr = new Frame("First GUI");
fr.setSize(300, 300);
fr.setLayout(new GridLayout(3,1));
fr.setVisible(true);
//GUI 프로그램 종료 이벤트 처리
fr.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//간단한 구문을 표현하는 label 객체
label = new Label();
label.setText("제가 보이시나요?");
label.setAlignment(Label.CENTER);
label.setSize(200, 100);
//버튼을 담고 있을 panel 객체
panel = new Panel();
panel.setLayout(new FlowLayout());
//panel과 label을 frame 에 추가하고 화면에 보이도록 함
fr.add(panel);
fr.add(label);
fr.setVisible(true);
}
//버튼을 생성하고 클릭 이벤트를 처리하는 메소드
void showButton() {
Button btnOK = new Button("OK");
Button btnCancel = new Button("Cancel");
//btnOK 버튼을 클릭할 경우 label 에 "확인" 문구 출력
btnOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
label.setText("확인");
}
});
//btnCancel 버튼을 클릭할 경우 label 에 "취소"문구 출력
btnCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
label.setText("취소");
}
});
//panel 객체에 2개의 버튼을 추가하고 frame에 출력
panel.add(btnOK);
panel.add(btnCancel);
fr.setVisible(true);
}
}
package MyGui;
public class ExGUI {
public static void main(String[] args) {
MyFrame mfr = new MyFrame();
mfr.showButton();
}
}
메인은 진심 한두줄에 불과함 저것도 그냥 new로하면 한줄될듯
실행하면 이렇게 뜸
ok누르면 확인
cancel누르면 취소
잼땅 ㅎㅎ
- 컨텐트팬의 배경색을 오렌지색으로 하고 이곳에 OK, Cancel, Ignore버튼들을 부착한 스윙 프로그램을 작성하라
package MyGui;
import javax.swing.*;
import java.awt.*;
public class ContentPaneEx extends JFrame {
public ContentPaneEx() {
setTitle("ContentPane과 JFrame");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contentPane = getContentPane();
contentPane.setBackground(Color.ORANGE);
contentPane.setLayout(new FlowLayout());
contentPane.add(new JButton("OK"));
contentPane.add(new JButton("Cancel"));
contentPane.add(new JButton("Ignore"));
setSize(300, 150);
setVisible(true);
}
public static void main(String[] args) {
new ContentPaneEx();
}
}
우왕 ㅠㅠ 너무 귀엽다..
히히//...
package MyGui;
import javax.swing.*;
import java.awt.*;
public class GridLayoutEx extends JFrame{
public GridLayoutEx() {
setTitle("GridLayout Sample");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridLayout grid = new GridLayout(4,2);
grid.setVgap(5);
Container c = getContentPane();
c.setLayout(grid);
c.add(new JLabel("이름"));
c.add(new JTextField(""));
c.add(new JLabel("학번"));
c.add(new JTextField(""));
c.add(new JLabel("학과"));
c.add(new JTextField(""));
c.add(new JLabel("과목"));
c.add(new JTextField(""));
setSize(300, 200);
setVisible(true);
}
public static void main(String[] args) {
new GridLayoutEx();
}
}
짱귀엽다!!!!!!!!
package MyGui;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class IndepClassListener extends JFrame {
public IndepClassListener() {
setTitle("Action 이벤트 리스너 예제") ;
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new FlowLayout());
JButton btn = new JButton("Action");
btn.addActionListener(new MyActionListener());//Action리스터 달기
c.add(btn);
setSize(350, 150);
setVisible(true);
}
public static void main(String[] args) {
new IndepClassListener();
}
}
class MyActionListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
JButton b = (JButton)e.getSource();
if (b.getText().equals("Action")) {
b.setText("액션");
}else
b.setText("Action");
}
}
누르면 바뀜 ㅎ
728x90
LIST
'JAVA > Java' 카테고리의 다른 글
20201015_16 업캐스팅, try -catch, 스레드 (0) | 2020.10.15 |
---|---|
20201014_ 15 2차원배열 겉에 외곽선네모합구하기 (0) | 2020.10.14 |
20201014_15 OSI 7계층, interface (0) | 2020.10.14 |
20201013_14 Arraylist이용한 학생정보 프로그램 (0) | 2020.10.13 |
20201013_15 버블정렬, 2차원배열, Arraylist (0) | 2020.10.13 |
댓글