6. 클릭 연습용 스윙 응용프로그램을 작성하라. "C"를 출력하는 JLabel을 하나 만들고 초기 위치를 (100, 100)으로 하고, "C"를 클릭할 때마다 컨텐트팬 내에 랜덤한 위치로 움직이게 하라.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class six extends JFrame{
JLabel jl=new JLabel("C");
public six(String name) {
setTitle(name);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jl.setSize(10,10);
jl.setLocation(100,100);
Container c=getContentPane();
jl.addMouseListener(new MyMouseListener());
c.setLayout(null);
c.add(jl);
setSize(800,800);
setVisible(true);
}
class MyMouseListener extends MouseAdapter{
public void mousePressed(MouseEvent e) {
int x=(int)(Math.random()*750);
int y=(int)(Math.random()*750);
jl.setLocation(x,y);
}
}
public static void main(String[]args) {
new six("클릭 연습 용 응용 프로그램");
}
}
7. JLabel을 활용하여 "Love Java"를 출력하고, "Love Java" 글자 위에 마우스를 올려 마우스 휠을 위로 굴리면 글자가 작아지고, 아래로 굴리면 글자가 커지도록 프로그램을 작성하라. 폰트 크기는 한 번에 5픽셀씩 작아지거나 커지도록 하고, 5픽셀 이하로 작아지지 않도록 하라.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class seven extends JFrame{
JLabel jl=new JLabel("Love Java");
int font=15;
public seven(String name) {
setTitle(name);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c=getContentPane();
c.setLayout(new FlowLayout());
jl.setSize(250,50);
jl.setFont(new Font("Serif",Font.BOLD,font));
jl.addMouseWheelListener(new MyMouseListener());
c.add(jl);
setSize(300,200);
setVisible(true);
}
class MyMouseListener implements MouseWheelListener{
public void mouseWheelMoved(MouseWheelEvent e) {
int n=e.getWheelRotation();
if(n<0&&font>5)
{font-=5;jl.setFont(new Font("Serif",Font.BOLD,font));}
else
{font+=5;jl.setFont(new Font("Serif",Font.BOLD,font));}
}
}
public static void main(String[]args) {
new seven("마우스 휠을 굴려 폰트 크기 조절");
}
}
'JAVA > 공부' 카테고리의 다른 글
12. 그래픽 (0) | 2021.01.28 |
---|---|
11. 기본적인 스윙 컴포넌트와 활용 (0) | 2021.01.23 |
9. 자바 GUI 기초, AWT와 스윙(Swing) (0) | 2021.01.19 |
8. 입출력 스트림과 파일 입출력 (0) | 2021.01.17 |
7. 제네릭과 컬렉션 (0) | 2021.01.16 |