JAVA
JAVA Swing(2022.12.27)
9400
2022. 12. 27. 20:00
스윙(Swing)은 자바에서 GUI(Graphic User Interface)를 구현하기 위해 JDK에서 기본적으로 제공하는 개발 툴킷으로 선 마이크로시스템즈의 자바 기반 클래스의 일부이다.
자바 스윙을 사용하기 위해서는 먼저 WindowBuilder를 설치해야한다.
Eclipse - Help - eclipse Marketplace
WindowBuilder 를 설치 후,
new 에서 아래와 같이 선택 이후 이름을 입력 후 생성해주면 된다
f.setVisible(true)
창을 화면에 나타낼 것인지 설정
f.setSize(400,600)
창의 가로와 세로 길이 설정
다양한 프로그램 만들기
위와 같이 new 를 선택하여 JFrame을 선택해주고
디자인을 눌러 예쁘게 창을 만들어준다.
만약 클릭 버튼을 누를시 이벤트를 주고 싶다면
위와 같이 선택
btn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("MyClick");
lbl.setText("good evening");
}
});
소스 코드에 위와 같은 addMouseListener가 추가 되는데
이때, 라벨의 텍스트를 good evening이라고 셋팅해주면 된다
클릭을 누를때 마다 1 증가 시키기
구구단 출력하기
package day04;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Swing03 extends JFrame {
private JPanel contentPane;
private JTextField tf;
private JTextArea ta;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Swing03 frame = new Swing03();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Swing03() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lbl = new JLabel("출력단수");
lbl.setBounds(55, 40, 57, 15);
contentPane.add(lbl);
JButton btn = new JButton("출력하기");
btn.addMouseListener(new MouseAdapter() {
@Override //출력하기를 누르면
public void mouseClicked(MouseEvent e) {
gugudan();
}
});
btn.setBounds(66, 78, 97, 23);
contentPane.add(btn);
ta = new JTextArea();
ta.setBounds(44, 111, 191, 140);
contentPane.add(ta);
tf = new JTextField();
tf.setBounds(114, 37, 116, 21);
contentPane.add(tf);
tf.setColumns(10);
}
public void gugudan() {
int num = Integer.parseInt(tf.getText());
String code="";
for(int i = 1; i<=9; i++) {
code+= num + "*"+ i + "=" + num*i +"\n";
}
ta.setText(code);
// ta.setText(num+"*"+"1="+(num*1));
// ta.setText(num+"*"+"2="+(num*2));
// ta.setText(num+"*"+"3="+(num*3));
// ta.setText(num+"*"+"4="+(num*4));
// ta.setText(num+"*"+"5="+(num*5));
// ta.setText(num+"*"+"6="+(num*6));
// ta.setText(num+"*"+"7="+(num*7));
// ta.setText(num+"*"+"8="+(num*8));
// ta.setText(num+"*"+"9="+(num*9));
}
}
출력성공!