반응형
문제
JLabel 컴포넌트로 "Love Java"를 출력하고, 키 리스너를 작성하여 + 키를 치면 폰트 크기를 5픽셀씩 키우고, - 키를 치면 폰트 크기를 5픽셀씩 줄이는 스윙 응용프로그램을 작성하라. 5픽셀 이하로 작아지지 않도록 하라.
소스 코드
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Main5 extends JFrame{
public Main5() {
setTitle("+,-키로 폰트 크기 조절");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
JLabel label = new JLabel("Love Java");
label.setFont(new Font("Arial",Font.PLAIN,10)); // Arial 폰트로 10픽섹 크기
Font f = label.getFont();
c.setLayout(new FlowLayout());
c.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
int size = f.getSize();
if(e.getKeyCode() == KeyEvent.VK_ADD || e.getKeyCode()==KeyEvent.VK_EQUALS) { // 전자는 숫자패드의 + 후자는 Shift와 함께쓰는 버튼입니다.
label.setFont(new Font("Arial",Font.PLAIN,size+5));
}
// 플러스와 동일
else if((e.getKeyCode() == KeyEvent.VK_MINUS || e.getKeyCode() == KeyEvent.VK_SUBTRACT) && size > 5) {
label.setFont(new Font("Arial",Font.PLAIN,size-5));
}
}
});
c.add(label);
setSize(300,200);
setVisible(true);
c.setFocusable(true);
c.requestFocus();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Main5();
}
}
반응형
'명품 JAVA 프로그래밍' 카테고리의 다른 글
명품 JAVA 프로그래밍 10장 실습문제 7 (0) | 2021.12.14 |
---|---|
명품 JAVA 프로그래밍 10장 실습문제 6 (0) | 2021.12.14 |
명품 JAVA 프로그래밍 10장 실습문제 4 (0) | 2021.12.14 |
명품 JAVA 프로그래밍 10장 실습문제 3 (0) | 2021.12.14 |
명품 JAVA 프로그래밍 10장 실습문제 2 (0) | 2021.12.13 |