728x90
반응형
[Java] 56. Swing 응용 예제
1. JTextField 수정하기
2. Java Swing을 사용해 그림 그리기
1. JTextField 수정하기
JTextField는 로그인 하면 떠오르는, 한 줄 높이의 텍스트창을 생성하는 클래스이다.
아래의 코드를 보면 JTextField 내의 값이 "아이디 입력"이라고 초기화된 것을 알 수 있다.
private void initData() { setTitle("컴포넌트 확인");
setSize(800, 800);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button = new JButton("JButton");
label = new JLabel("글자를 띄우는 컴포넌트");
textField = new JTextField("아이디 입력", 20);
passwordField = new JPasswordField("비번입력", 20);
checkBox = new JCheckBox("동의"); }
초기화식을 수정하지 않고, JTextField를 바꿔 출력해보자.
중요한 것은 객체의 주소값을 얻는 것이다.
(1) MyComponent component=new MyComponent를 통해 MyComponent를 새롭게 생성한다.
(2) myComponent.textField.setText <- setText 메서드를 사용해 textField 내의 텍스트를 새롭게 초기화하면 된다.
package ch02;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class MyComponents extends JFrame {
private JButton button;
private JLabel label;
private JTextField textField;
private JPasswordField passwordField;
private JCheckBox checkBox;
public MyComponents() {
initData();
setInitLayout();
}
private void initData() {
setTitle("컴포넌트 확인");
setSize(800, 800);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button = new JButton("JButton");
label = new JLabel("글자를 띄우는 컴포넌트");
textField = new JTextField("아이디 입력", 20);
passwordField = new JPasswordField("비번입력", 20);
checkBox = new JCheckBox("동의");
}
private void setInitLayout() {
setLayout(new FlowLayout());
setVisible(true);
add(button);
add(label);
add(textField);
add(passwordField);
add(checkBox);
}
// 메인 작업자
public static void main(String[] args) {
MyComponents components=new MyComponents(); // 객체의 주소값
components.textField.setText("안녕하세요~");
}
}
2. Java Swing을 사용해 그림 그리기
-add(paintFrame):
-graphic:
-drawRect(x좌표, y좌표, 가로, 세로): 사각형을 그린다.
-drawPolygon([x],[y],int): 다각형을 그린다. 입력하는 수(=int)에 따라 각의 수가 달라진다.
-drwaString(""): 문자열을 출력한다. (그린다.)
package ch02;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
import ch02.MyDrawFrame.MyDrawPanel;
public class PaintFrameTest extends JFrame {
PaintFrame paintFrame;
public PaintFrameTest() {
initData();
setInitLayout();
}
private void initData() {
setTitle("내부 클래스를 활용한 그림 연습");
setSize(600, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
paintFrame = new PaintFrame();
}
private void setInitLayout() {
add(paintFrame);
setVisible(true);
}
class PaintFrame extends JPanel{
public void paint(Graphics g) {
super.paint(g);
g.drawRect(0, 350, 2000, 250);
g.drawRect(210, 300, 10, 50);
g.drawRect(170, 300, 15, 60);
g.drawRect(130, 350, 18, 80);
g.drawRect(100, 400, 20, 100);
g.drawRect(340, 300, 10, 50);
g.drawRect(380, 300, 15, 60);
g.drawRect(420, 350, 18, 80);
g.drawRect(450, 400, 20, 100);
g.drawRect(260, 270, 20, 25);
g.drawRect(260, 295, 20, 25);
g.drawRect(280, 270, 20, 25);
g.drawRect(260, 270, 40, 50);
g.drawRect(240, 250, 80, 100);
int x[] = { 230, 280, 330 };
int y[] = { 250, 180, 250 };
g.drawPolygon( x, y, 3 );
g.drawString("⭐", 500, 200);
g.drawString("⭐", 130, 150);
g.drawString("⭐", 120, 200);
g.drawString("⭐", 450, 200);
g.drawString("⭐", 150, 150);
g.drawString("⭐", 120, 200);
g.drawString("⭐", 500, 200);
g.drawString("⭐", 130, 150);
g.drawString("⭐", 120, 200);
g.drawString("⭐", 450, 200);
g.drawString("⭐", 150, 150);
g.drawString("⭐", 120, 200);
}
}
}
728x90
반응형
'Java > 자바 Swing' 카테고리의 다른 글
[Java] 60. Swing: 이미지 출력하기 (0) | 2024.04.29 |
---|---|
[Java] 59. 사용자 정의 예외 클래스 (0) | 2024.04.29 |
[Java] 55. Swing: 패널과 컨테이너 (0) | 2024.04.26 |
[Java] 51. 스윙 컴포넌트, 반복문 활용: 동서남북에 버튼 만들기 (0) | 2024.04.25 |
[Java] 50. 스윙 컴포넌트로 버튼 만들기 (0) | 2024.04.25 |