java jinternalframe_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;publicclassJInternalFrameTest extends JFrame{

JDesktopPane desktopPane=null;//桌面面板InternalFrame plnFrame=null;//人事管理InternalFrame rlnFrame=null;//帐物管理InternalFrame tlnFrame=null;//待遇管理publicJInternalFrameTest()

{

super();

setTitle("人事管理");

setBounds(100,100,350,150);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//创建桌面面板desktopPane=newJDesktopPane();

desktopPane.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);//设置内部窗体拖动模式getContentPane().add(desktopPane,BorderLayout.CENTER);//桌面添加背景图片final JLabel backLabel=newJLabel();

URL resource=this.getClass().getResource("back.jpg");//图片ImageIcon icon=newImageIcon(resource);//设置图片backLabel.setIcon(icon);

backLabel.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());//设置边界desktopPane.add(backLabel,newInteger(Integer.MIN_VALUE));//添加到指定索引位置//添加buttonfinal JPanel panel=newJPanel();

getContentPane().add(panel,BorderLayout.NORTH);

JButton jButton_p=newJButton("人事");

jButton_p.addActionListener(newBAlistener(null,"人事"));//监听事件JButton jButton_r=newJButton("帐物");

jButton_r.addActionListener(newBAlistener(null,"帐物"));//监听事件JButton jButton_t=newJButton("待遇");

jButton_t.addActionListener(newBAlistener(null,"待遇"));//监听事件panel.add(jButton_p);

panel.add(jButton_r);

panel.add(jButton_t);

}privateclassBAlistener implements ActionListener

{

InternalFrame inFrame;

String title;publicBAlistener(InternalFrame inFrame ,String title){this.inFrame=inFrame;this.title=title;

}publicvoidactionPerformed(ActionEvent e){if(inFrame==null||inFrame.isClosed()){

JInternalFrame[] allFrames=desktopPane.getAllFrames();inttitleBarHight=30*allFrames.length;intx=10+titleBarHight,y=x;intwidth=250,height=180;

inFrame=newInternalFrame(title);

inFrame.setBounds(x,y,width,height);//设置位置与大小inFrame.setVisible(true);//可见desktopPane.add(inFrame);//添加到桌面面板}try{

inFrame.setSelected(true);

}catch(PropertyVetoException propertyVetoE){

propertyVetoE.printStackTrace();

}

}

}/**

* @param args*/publicstaticvoidmain(String[] args) {//TODO Auto-generated method stubJInternalFrameTest jInternalFrameTest=newJInternalFrameTest();

jInternalFrameTest.setVisible(true);

}

}//自定义一个InternalFrameclassInternalFrame extends JInternalFrame

{publicInternalFrame(String title)

{

super();

setTitle(title);//设置内部窗体标题setResizable(true);//允许自由调整大小setClosable(true);//提供关闭按钮setIconifiable(true);//设置提供图标化按钮setMaximizable(true);//设置提供最大化按钮URL resource=this.getClass().getResource("caption.png");

ImageIcon icon=newImageIcon(resource);

setFrameIcon(icon);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值