[JAVA] Key Listener.
[문제]
JLabel 컴포넌트로 “Love Java”를 출력하고, 키 리스너를 작성하여 + 키를 치면 폰트 크기를 5픽셀씩 키우고, - 키를 치면 폰트 크기를 5픽셀씩 줄이는 스윙 응용프로그램을 작성하라.
5픽셀 이하로 작아지지 않도록 하라.
코드
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LoveJavaEx extends JFrame {
private JLabel la = new JLabel("Love Java");
LoveJavaEx(){
setTitle("Yeongjin");
setLayout(new FlowLayout());
la.setFont(new Font("Arial",Font.PLAIN,10));
Font f = la.getFont();
int size = f.getSize();
la.setFont(new Font("Arial", Font.PLAIN, size+5));
la.setLocation(50,50);
la.setSize(100,20);
add(la);
la.addKeyListener(new MyKeyListener());
setSize(300,300);
setVisible(true);
la.setFocusable(true);
la.requestFocus();
}
public static void main(String[] args) {
new LoveJavaEx();
}
class MyKeyListener extends KeyAdapter {
public void keyPressed(KeyEvent e) {
Font f = la.getFont();
int size = f.getSize();
switch(e.getKeyCode()) {
case 45:
if(size>5)
la.setFont(new Font("Arial", Font.PLAIN,size-5));
break;
case 61:
la.setFont(new Font("Arial", Font.PLAIN,size+5));
break;
}
}
}
}
댓글남기기