- [Java] 56. Swing 응용 예제: 집 그리기2024년 04월 26일
- Song hyun
- 작성자
- 2024.04.26.:16
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 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)