IT/자바

내부클래스 설명

Beautifulkim 2018. 5. 9. 16:18

MyMain_LocalInner.java

MyMain_MemberInner.java

MyMain_MemberInner2.java

첫 번째 설명

코드가 길어지면서 필요없는 메서드 까지 다 선언해야 오류가 안뜸


package mymain; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.JFrame; // awt ->확장 -> swing // Frame JFrame public class MyMain_MemberInner extends JFrame { //멤버로써의 내부클래스 //윈도우 이벤트 처리객체 class MyWindowListener implements WindowListener { @Override public void windowOpened(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.exit(0); } @Override public void windowClosed(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowIconified(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowDeiconified(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowActivated(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowDeactivated(WindowEvent e) { // TODO Auto-generated method stub } } //------------------------------------------------------------------ public MyMain_MemberInner() { // TODO Auto-generated constructor stub super("내가만든 윈도우"); //위치 //this.setLocation(200, 100); //크기지정 //this.setSize(400, 300); // 위치 + 크기정보 this.setBounds(200, 100, 400, 300); //보여줘라 this.setVisible(true); //종료코드 //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.addWindowListener(new MyWindowListener()); } public static void main(String[] args) { // TODO Auto-generated method stub new MyMain_MemberInner(); } }


두 번째 설명

자주 사용할 목적으로 선언 형식

package mymain; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.JFrame; // awt ->확장 -> swing // Frame JFrame public class MyMain_MemberInner2 extends JFrame { //윈도우 이벤트 처리객체 class MyWindowAdapter extends WindowAdapter { @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.exit(0); } } public MyMain_MemberInner2() { // TODO Auto-generated constructor stub super("내가만든 윈도우"); // 위치 + 크기정보 this.setBounds(200, 100, 400, 300); //보여줘라 this.setVisible(true); //종료코드 //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); WindowListener listener = new MyWindowAdapter(); this.addWindowListener(listener); } public static void main(String[] args) { // TODO Auto-generated method stub new MyMain_MemberInner2(); } }

간략한코드 package mymain; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; // awt ->확장 -> swing // Frame JFrame public class MyMain_LocalInner extends JFrame { public MyMain_LocalInner() { // TODO Auto-generated constructor stub super("내가만든 윈도우"); // 위치 + 크기정보 this.setBounds(200, 100, 400, 300); //보여줘라 this.setVisible(true); //종료코드 //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //이벤트처리객체 선언 class MyWindowAdapter extends WindowAdapter { @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.exit(0); } } this.addWindowListener(new MyWindowAdapter()); } public static void main(String[] args) { // TODO Auto-generated method stub new MyMain_LocalInner(); } }