JFrame 7

[자바] KeyListener + Scanner

Scanner로 문자 입력받아 창에 쓰기 + 키코드 출력 KeyListener를 설명하는 글과 동일한 틀을 사용했습니다. 다른 것은 메인메소드입니다. 메인메소드에 Scanner 클래스를 사용하여 콘솔 창에 문자를 입력하면 프레임 창에 표시되도록 코드를 작성하였습니다. 이 코드를 작성하여 " myFrmae3.area.setText(inputUser); " inputUser에 입력된 문자를 setText 메소드를 통해 area에 표시되도록 하였습니다. import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.Scanner; import javax.swing.JFrame; import javax.swing.JTextA..

JAVA/GUI 2021.07.20

[자바] 콜백(CallBack) - JFrame

콜백(CallBack)을 왜 사용하는가? 특정 조건이 있고, 이 조건을 만족할 때마다 기능을 수행한다고 하자. 콜백을 사용하면 이벤트가 발생하여 특정 조건을 만족시켰을 경우, 콜백 함수를 호출하여 바로 기능을 수행할 수 있다. 콜백 함수는 바로바로 사용할 수 있으며, 조건이 맞는지 틀린지 확인하는 과정을 거치지 않아도 되기에 효율적이다. 만약, 콜백을 사용하지 않고 계속 객체에 접근하는 방식으로 코드를 작성하였다고 하자. 해당 객체에 어떠한 오류가 발생할 경우 그 객체부터 접근하는 과정까지 모두 수정이 필요할 수 있다. 콜백이라는 개념을 사용하면 객체의 주소만 연결시켜주면 바로 기능을 수행할 수 있다. * 이번 글에서는 수업 예제인 콜백을 GUI코드로 예시를 들고, 다음 글에서 GUI를 제외한 콜백 코드..

JAVA/GUI 2021.07.19

[자바] JFrame 이미지 추가하기 - 슈퍼마리오(1)

슈퍼마리오 배경과 캐릭터 이미지 추가하여 프레임 꾸미기 JFrame을 상속받은 MyImage 클래스를 선언 JPanel을 상속받은 MyPanel 내부 클래스를 선언 생성자와 initData, setInitLayout 메소드를 선언 내부 클래스에서 paintComponent 메소드를 오버 라이딩하여, 배경화면과 캐릭터 1, 2, 3을 프레임에 추가 import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; class M..

JAVA/GUI 2021.07.17

[자바] KeyListener

키보드를 아무거나 눌렸을 때, 해당 키의 키 코드 출력 코드 작성하기 어떠한 키를 입력하면 해당 키 코드와 키가 출력됨 Frame을 상속받고, KeyListener을 인터페이스로 받음 JTextArea를 사용하여 텍스트 입력 영역을 만듦 e.getKeyCode, e.getKeyChar 메소드를 사용하여 keycode와 keychar를 리턴함 import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JTextArea; class MyKeyEvent extends JFrame implements KeyListener{ JTextArea area; //창에 텍스트 영..

JAVA/GUI 2021.07.15

[자바] JPanel

JFrame을 상속받아 JPanel, JButton을 사용하는 코드 작성하기 import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; class MyPaner extends JFrame { JPanel panel1; //JPanel 타입으로 panel 변수 선언하기 JPanel panel2; JPanel panel3; JPanel panel4; JButton button1; //JButton 타입으로 button 변수 선언하기 JButton button2; JButton b..

JAVA/GUI 2021.07.15

[자바] JButton 만들기 + 클릭 이벤트

Button 5개 생성하여 동, 서, 남, 북, 중앙으로 배치하는 코드 작성하기 import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; class MyLayout extends JFrame{ //JFrame 상속받기 JButton button1; //JButton 타입으로하고, 변수명을 button1로 선언함. JButton button2; JButton button3; JButton button4; JButton button5; public MyLayout() { initData(); setInitLayout(); } private void initData() { this.setTitle("Button 위치..

JAVA/GUI 2021.07.14

[자바] Login 화면 구성하기

구성 순서 JFrame을 부모 클래스로 상속받아 Login 클래스 생성 JPanel, JLabel, JTextField, JPasswordField, JCheckBox, JButton 클래스를 사용하여 로그인을 할 때, 필요한 옵션을 추가 Login 생성자 선언, initData 메소드를 통해 객체를 생성하여 옵션 만들기, setInitLayout 메소드를 통해 창에 옵션들을 추가 메인 메소드에 Login 클래스 객체 생성 - setInitLayout 메소드에 옵션을 추가하지 않은 경우 import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import java..

JAVA/GUI 2021.07.13