import java.awt.*;
import java.util.*;
import java.awt.event.*;
public class FullScreen extends Frame{
Panel p;
Button b;
Window windowFullScreen;
public FullScreen(){
//텍스트 출력, 판넬을 이용하여 전체화면에 왔다 갔다 한믄 된다.
p = new Panel(){
public void paint(Graphics g){
Dimension d = getSize();
g.setColor(Color.red);
g.setFont(new Font("SansSerif", 0, 20));
g.drawString("이것은 판넬입니다",d.width/2 - 70,d.height/2);
}
};
b = new Button("FULL WINDOW");
//전체 화면 보이기 버튼
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
fullScreen(true);
}
});
setSize(400,400);
add(p,BorderLayout.CENTER);
add(b,BorderLayout.SOUTH);
setVisible(true);
//윈도우 창 닫기 이벤트
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void fullScreen(boolean visible){
if(visible){
//전체 화면 사이즈 구하기
Dimension dimScreen = Toolkit.getDefaultToolkit().getScreenSize();
this.remove(p); //프레임이 붙어 있는 판넬을 때 낸다.
//윈도우가 생성되지 않았을 경우 생성한다.
if ( windowFullScreen == null ) {
windowFullScreen = new Window ( this );
windowFullScreen.setLayout(new BorderLayout());
windowFullScreen.setBackground ( Color.black );
windowFullScreen.setBounds ( 0, 0, dimScreen.width, dimScreen.height );
//Toolkit.getDefaultToolkit().sync();
//마우스 이벤트, 전체 화면에서 아무 곳이나 클릭 하면 작은 화면으로 돌아가게 한다.
p.addMouseListener ( new MouseAdapter () {
public void mouseClicked ( MouseEvent event ) {
fullScreen ( false );
}
});
}
windowFullScreen.add("Center",p);
windowFullScreen.setVisible(true);
windowFullScreen.validate();
}else{
//전체 화면에서 판넬 빼내기
windowFullScreen.remove(p);
windowFullScreen.setVisible(false);
this.add(p,BorderLayout.CENTER);
p.validate();
setVisible(true);
}
}
public static void main(String args[]){
new FullScreen();
}
}