romworld

Python 05 - JFrame (JAVA) 본문

Python

Python 05 - JFrame (JAVA)

inderrom 2022. 12. 26. 17:42
AWT

 

자바에서 실행을 시킬 때 window창 = Frame


  
package day04;
import java.awt.Frame;
public class AwtTest {
public static void main(String[] args) {
Frame f = new Frame();
f.setVisible(true);
f.setSize(400,600);
}
}

setVisible = 창을 보이게 하는 것

setSize = 창의 크기

실행시키면 창이 켜짐

 


Swing

  
package day04;
import javax.swing.JFrame;
public class SwingTest {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setVisible(true);
f.setSize(300,300);
}
}

생성 - size - visible

 


WindowBulider

help - Eclipse Marketplace - windowBuilder 1.10.0 Install

 

windowBuilder install

 

제대로 설치가 되었다면 project를 생성할 때 다운 받아져 있는 걸 확인할 수 있다.

 

 

Swing을 실행해보자!

 

 

project에서  JFrame 생성 

 

<Swing01.java>


  
package day04;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class Swing01 extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Swing01 frame = new Swing01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Swing01() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
}
}

코드가 자동 생성 되어있다.

 

 

Source옆에 Design을 누르면 툴이 나옴

 

라벨을 누르면 실행 시킬 때 라벨이 추가되고

 

소스를 다시 눌러봤을 때 라벨에 관한 코드가 작성된다.

 

 activate : 활성화

 

defalut : BorderLayout

xywh : Absolute layout

 

 

,, 이런 식으로 window창 디자인을 할 수 있다

 


 

버튼을 클릭하면 Text를 바꿔보세요!

 


  
package day04;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Swing01 extends JFrame {
private JPanel pane;
private JButton btn;
private JLabel lbl;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Swing01 frame = new Swing01();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Swing01() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
setTitle("롬숙제");
pane = new JPanel();
pane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(pane);
pane.setLayout(null);
JLabel lbl = new JLabel("Good Morning");
lbl.setBounds(76, 37, 94, 35);
pane.add(lbl);
//lbl.setText("Good Evening");
JButton btn = new JButton("Click!");
btn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
lbl.setText("Good Evening");
}
});
// public void actionPerformed(ActionEvent e) {
// if(lbl.getText() == "Good Morning") {
// lbl.setText("Good Evening");
// }else {
// lbl.setText("집에보내도");
// }
// }
btn.setBounds(171,43,97,23);
pane.add(btn);
}
}

 

 

이런 식으로 코드를 작성하고

 

실행을 시키면 버튼을 클릭했을 때 text가 바뀐다.

Comments