JAVA 프레임 안에 프레임

Programming/JAVA,JSP 2012. 11. 18. 15:14 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JDesktopPane;

import javax.swing.JFrame;

import javax.swing.JInternalFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;



public class ExJInternalFrame extends JFrame{

    JDesktopPane xDesktop;        //JDesktopPane을 정의한다.

    ToolListener xToolListener = new ToolListener();


    public ExJInternalFrame(String title){

        super(title);

        

        /* 프레임을 닫으면 프로그램을 종료시키도록 설정한다. */

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        

        /* 내용 패널을 BorderLayot으로 정한다. */

        Container cp = getContentPane();

        cp.setLayout(new BorderLayout());


        /* 툴바를 만든다 */

        JPanel tool_bar = new JPanel(new BorderLayout());

        JPanel tool_pnl = new JPanel(new GridLayout(1, 0));

        JButton btn;

        btn = new JButton("Maximize");

        btn.addActionListener(xToolListener);        //액션 이벤트..

        tool_pnl.add(btn);


        btn = new JButton("Minimize");

        btn.addActionListener(xToolListener);

        tool_pnl.add(btn);


        btn = new JButton("Iconify");

        btn.addActionListener(xToolListener);

        tool_pnl.add(btn);


        btn = new JButton("Close");

        btn.addActionListener(xToolListener);

        tool_pnl.add(btn);


        tool_bar.add(tool_pnl, BorderLayout.WEST);

        cp.add(tool_bar, BorderLayout.NORTH);

        

        /* 데스크탑 패널을 만든다. */

        

        xDesktop = new JDesktopPane();

        cp.add(xDesktop, BorderLayout.CENTER);

        

        /* 기본 설정의 내부 프레임을 만든다. */

        JInternalFrame fr = new JInternalFrame("Internal Frame 1");

        fr.getContentPane().add(

            new JLabel(new ImageIcon("/root/Download/ICON/jeehaa1004_10.gif"))

            , BorderLayout.CENTER

        );

        fr.setBounds(20, 20, 200, 100);

        fr.setVisible(true);


        xDesktop.add(fr); 


        

        /* 모든 옵션이 켜져있는 내부 프레임을 만든다. */

        fr = new JInternalFrame("Internal Frame 2", true, true, true, true);

        fr.getContentPane().add(

            new JLabel(new ImageIcon("/root/Download/ICON/jeehaa1004_6.gif"))

            , BorderLayout.CENTER

        );

        fr.setBounds(100, 100, 200, 100);

        fr.setVisible(true);


        xDesktop.add(fr);

    }

    

    class ToolListener implements ActionListener {

        public void actionPerformed(ActionEvent ev){

            String cmd = ev.getActionCommand();

            JInternalFrame fr = xDesktop.getSelectedFrame();     //선택된 프레임을 가져온다.           

            /* 버튼에 따라 최대화, 최소화, 닫기 등의 작업을 한다. */

            try{

            if (cmd.equals("Maximize")) {

                fr.setMaximum(true);            //최대화 복원

            } else if (cmd.equals("Minimize")) {

                fr.setMaximum(false);            //최대화 취소

            } else if (cmd.equals("Iconify")) {

                fr.setIcon(true);                //내부프레임의 아이콘화 유무

            } else if (cmd.equals("Close")) {

                fr.setClosed(true);                //내부프레임 닫기

            }   

            }catch(Exception e){}         

        }

    }


    public static void main(String args[]){

        /* 프레임을 만든다. */

        ExJInternalFrame mf = new ExJInternalFrame("JInternalFrame 예제");


        mf.setSize(400, 300);

        mf.setVisible(true);

    }

}

  


'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 비행기게임  (0) 2013.01.09
JAVA 오목 게임 #1  (0) 2012.11.23
JAVA 다중 계산 계산기  (0) 2012.11.17
JAVA TCP 통신 예제  (0) 2012.11.17
Java 계산기 레이아웃  (0) 2012.11.17