zoukankan      html  css  js  c++  java
  • Swing高级JInternalFrameTest内部窗体

    import java.awt.BorderLayout;
    import java.awt.
    event.ActionEvent;
    import java.awt.
    event.ActionListener;
    import java.beans.PropertyVetoException;
    import java.net.URL;

    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 JInternalFrameTest extends JFrame{

        JDesktopPane desktopPane 
    = null;   //桌面面板
        InternalFrame plnFrame = null;     //人事管理
        InternalFrame rlnFrame = null;     //帐物管理
        InternalFrame tlnFrame = null;     //待遇管理
        public JInternalFrameTest()
        {
            super();
            setTitle(
    "人事管理");
            setBounds(
    100,100,350,150);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
    //创建桌面面板
            desktopPane = new JDesktopPane();
            desktopPane.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);  
    //设置内部窗体拖动模式
            getContentPane().add(desktopPane,BorderLayout.CENTER);
            
    //桌面添加背景图片
            final JLabel backLabel = new JLabel();
            URL resource 
    = this.getClass().getResource("back.jpg");  //图片
            ImageIcon icon = new ImageIcon(resource);   //设置图片
            backLabel.setIcon(icon);
            backLabel.setBounds(
    0,0,icon.getIconWidth(),icon.getIconHeight());  //设置边界
            desktopPane.add(backLabel,new Integer(Integer.MIN_VALUE));   //添加到指定索引位置
            
            
    //添加button
            final JPanel panel = new JPanel();
            getContentPane().add(panel,BorderLayout.NORTH);
            JButton jButton_p 
    = new JButton("人事");
            jButton_p.addActionListener(
    new BAlistener(null,"人事"));   //监听事件
            JButton jButton_r = new JButton("帐物");
            jButton_r.addActionListener(
    new BAlistener(null,"帐物"));   //监听事件
            JButton jButton_t = new JButton("待遇");
            jButton_t.addActionListener(
    new BAlistener(null,"待遇"));   //监听事件
            panel.add(jButton_p);
            panel.add(jButton_r);
            panel.add(jButton_t);
        }
        
    private class BAlistener implements ActionListener
        {
            InternalFrame inFrame;
            String title;
            
    public BAlistener(InternalFrame inFrame ,String title){
                
    this.inFrame = inFrame;
                
    this.title = title;
            }
            
    public void actionPerformed(ActionEvent e){
                
    if(inFrame ==null || inFrame.isClosed()){
                    JInternalFrame[] allFrames 
    = desktopPane.getAllFrames();
                    
    int titleBarHight = 30*allFrames.length;
                    
    int x= 10+titleBarHight,y=x;
                    
    int width = 250,height = 180;
                    inFrame 
    = new InternalFrame(title);
                    inFrame.setBounds(x,y,width,height);
    //设置位置与大小 
                    inFrame.setVisible(true);   //可见
                    desktopPane.add(inFrame);   //添加到桌面面板
                }
                
    try
                {
                    inFrame.setSelected(
    true);
                }
    catch(PropertyVetoException propertyVetoE){
                    propertyVetoE.printStackTrace();
                }
            }
        }
        
    /**
         * @param args
         
    */
        
    public static void main(String[] args) {
            
    // TODO Auto-generated method stub
            JInternalFrameTest jInternalFrameTest= new JInternalFrameTest();
            jInternalFrameTest.setVisible(
    true);
        }

    }
    //自定义一个InternalFrame
    class InternalFrame extends JInternalFrame
    {
        
    public InternalFrame(String title)
        {
            super();
            setTitle(title);   
    //设置内部窗体标题
            setResizable(true);  //允许自由调整大小 
            setClosable(true);  //提供关闭按钮
            setIconifiable(true); //设置提供图标化按钮
            setMaximizable(true); //设置提供最大化按钮
            URL resource = this.getClass().getResource("caption.png");
            ImageIcon icon 
    = new ImageIcon(resource);
            setFrameIcon(icon);
        }
    }

  • 相关阅读:
    利用FlashPaper实现类似百度文库功能
    浅谈Oracle函数返回Table集合
    Oracle 触发器在日志管理开发中的应用
    Putty 工具 保存配置的 小技巧
    java.util.Date转java.sql.Date丢失时间问题
    java String和Date转换
    springboot项目使用拦截器修改/添加前端传输到后台header和cookie参数
    Spring的使用及Spring3.2控制器增强@ControllerAdvice
    使用fastjson统一序列化响应格式
    【转】Elastic-Job
  • 原文地址:https://www.cnblogs.com/myitmylife/p/3500090.html
Copyright © 2011-2022 走看看