가상 키보드 구현하려 하는데 GUI로 키는 대충 만들었습니다. 함수로 btn[i]만들었는데 오버라이드 할 때 cannot be resolved to a variable가 뜨네요 오버라이드 하려면 btn1, btn2처럼이름을 따로 지정 해줘야 할까요
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;// 이벤트
import java.awt.event.ActionListener;// 이벤트 리스너
class MyGUI extends JFrame implements ActionListener{
MyGUI(){
// 프레임 생성
JFrame frm = new JFrame("화상 키보드");
// 프레임 크기 설정
frm.setSize(900, 400);
// 프레임을 화면 가운데에 배치
frm.setLocationRelativeTo(null);
// 프레임을 닫았을 때 메모리에서 제거되도록 설정
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 레이아웃 설정
frm.getContentPane().setLayout(null);
//텍스트 필드 생성
JTextField textfield = new JTextField(30);
textfield.setBounds(400, 5, 100, 30 );
frm.add(textfield);
// 버튼 생성
int a=55;
JButton[] btn = new JButton[10];
for(int i = 1; i <=9; i++) {
btn[i] = new JButton("ESC");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 8));
btn[i].setBounds(5, 5, 50, 30);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("~");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(5, 50, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("1");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(60, 50, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("2");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(115, 50, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("3");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(170, 50, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("4");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(225, 50, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("5");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(280, 50, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("6");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(335, 50, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("7");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(390, 50, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("8");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(445, 50, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("9");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(500, 50, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("0");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(555, 50, 50, 40);
frm.getContentPane().add(btn[i]);
//2 번째 열
btn[i] = new JButton("ㅂ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(65, 100, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅈ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(120, 100, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㄷ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(175, 100, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㄷ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(175, 100, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㄱ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(230, 100, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅅ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(285, 100, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅛ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(395, 100, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅕ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(450, 100, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅑ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(505, 100, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅐ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(560, 100, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅔ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(615, 100, 50, 40);
frm.getContentPane().add(btn[i]);
//3번째 열
btn[i] = new JButton("ㅁ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(70, 150, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㄴ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(70 +a, 150, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅇ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(70 + 2*a, 150, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㄹ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(70 + 3*a, 150, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅎ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(70 + 4*a, 150, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅗ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(70 + 6*a, 150, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅓ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(70 + 7*a, 150, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅏ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(70 + 8*a, 150, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅣ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(70 + 9*a, 150, 50, 40);
frm.getContentPane().add(btn[i]);
//4번째열
btn[i] = new JButton("ㅋ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(85, 200, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅌ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(85+a, 200, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅊ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(85+a*2, 200, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅍ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(85+a*3, 200, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅠ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(85+a*5, 200, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅜ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(85+a*6, 200, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("ㅡ");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(85+a*7, 200, 50, 40);
frm.getContentPane().add(btn[i]);
btn[i] = new JButton("Space Bar");
btn[i].setFont(new Font("맑은고딕", Font.BOLD, 10));
btn[i].setBounds(85+a*3, 250, 200, 40);
frm.getContentPane().add(btn[i]);
}
// 프레임이 보이도록 설정
frm.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
btn[i].setText("10");
}
}
public class Keyboard111 {
public static void main(String[] args) {
new MyGUI();
}
}
![]() |
|
코드보기 넘 불편함