给你一段我自己用swing写的mdi(多文档用户界面)的代码,仅供参考:
package com.jb.cdjj.y2t027.flydream.hrms.swing;
import java.awt.awtevent;
import java.awt.borderlayout;
import java.awt.dimension;
import java.awt.flowlayout;
import java.awt.event.actionevent;
import java.awt.event.actionlistener;
import java.awt.event.componentadapter;
import java.awt.event.componentevent;
import java.awt.event.windowadapter;
import java.awt.event.windowevent;
import java.beans.propertyvetoexception;
import java.text.simpledateformat;
import java.util.calendar;
import javax.swing.borderfactory;
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.jmenu;
import javax.swing.jmenubar;
import javax.swing.jmenuitem;
import javax.swing.joptionpane;
import javax.swing.jpanel;
import javax.swing.jprogressbar;
import javax.swing.jscrollpane;
import javax.swing.jseparator;
import javax.swing.jtoolbar;
import javax.swing.timer;
import javax.swing.border.bevelborder;
import com.jb.cdjj.y2t027.flydream.hrms.pojo.userspojo;
import com.jb.cdjj.y2t027.flydream.hrms.swing.component.jdesktopscrollpane;
import com.jb.cdjj.y2t027.flydream.hrms.swing.utils.charactercommon;
public class frmmain extends jframe {
private static final long serialversionuid = -6893438572255430328l;
{
// 设置ui感观效果(使用三方jar包:looks-2.1.4.jar)
try {
javax.swing.uimanager.setlookandfeel("com.jgoodies.looks.plastic.plasticxplookandfeel");
} catch(exception e) {
e.printstacktrace();
}
}
private jmenuitem mnuitemhelptopic;
private jpanel pnlmain;
private jmenu mnuhelp;
private jmenuitem mnuitemdelete;
private jpanel pnltlb;
private jseparator septedit;
private jmenuitem mnuitempaste;
private jmenuitem mnuitemcopy;
private jmenuitem mnuitemcut;
private jmenu mnuedit;
private jmenuitem mnuitemlock;
private jmenuitem mnuitemexit;
private jseparator septsystembottom;
private jmenuitem mnuitemabout;
private jmenuitem mnuitemlogout;
private jseparator septsystemtop;
private jmenuitem mnuitempermissions;
private jmenuitem mnuitemparamconfig;
private jlabel lblloginuser;
private jscrollpane pnlscrollcontent;
private jmenuitem mnucloseall;
private jseparator septwindow;
private jmenuitem mnuitemclosecurrent;
private jmenuitem mnuitemswitch;
private jmenu mnuwindow;
private jlabel lbltime;
private jlabel lblprogressmsg;
private jprogressbar progressoperation;
private jdesktoppane pnldsk;
private jpanel pnlstatus;
private jbutton btnhelp;
private jbutton btnexit;
private jbutton btnlogout;
private jbutton btnlockscreen;
private jtoolbar tlbmain;
private jmenu mnusystem;
private jmenubar mnubarmain;
private jbutton btnpermissions;
private jbutton btnparamconfig;
private jlabel lbltlbspliter2;
private jlabel lbltlbspliter1;
private jmenuitem mnumodifypwd;
private static frmlogin frmlogin;
private jpanel pnlcontent;
private static userspojo currentloginuser;
public static userspojo getcurrentloginuser() {
return currentloginuser;
}
public static void setcurrentloginuser(userspojo currentloginuser) {
frmmain.currentloginuser = currentloginuser;
}
public frmmain(frmlogin loginwindow) {
super();
frmlogin = loginwindow;
initgui();
this.addcomponentlistener(new componentadapter(){
@override
public void componentshown(componentevent e) {
lblloginuser.settext("【"
+ (currentloginuser != null
? (currentloginuser.getloginaccount() + "/" + currentloginuser.getusersname())
: "未登录")
+ "】");
super.componentshown(e);
}
});
}
private void initgui() {
try {
{
borderlayout thislayout = new borderlayout();
getcontentpane().setlayout(thislayout);
}
{
mnubarmain = new jmenubar();
setjmenubar(mnubarmain);
{
mnusystem = new jmenu();
mnubarmain.add(mnusystem);
mnusystem.settext("系统(s)");
mnusystem.setmnemonic(java.awt.event.keyevent.vk_s);
mnusystem.setname("mnusystem");
mnusystem.setdoublebuffered(false);
{
mnuitemparamconfig = new jmenuitem();
mnusystem.add(mnuitemparamconfig);
mnuitemparamconfig.settext("参数设置(p)...");
mnuitemparamconfig.settooltiptext("前台系统字典及参数设置");
mnuitemparamconfig.setmnemonic(java.awt.event.keyevent.vk_p);
mnuitemparamconfig.setname("mnuitemparamconfig");
mnuitemparamconfig.seticon(new imageicon(getclass().getclassloader().getresource("img/param.png")));
mnuitemparamconfig.setdoublebuffered(false);
mnuitemparamconfig.addactionlistener(new actionlistener() {
public void actionperformed(actionevent e) {
openonlyoneinternalframe(frminlparam.getinstance());
}
});
}
{
mnuitempermissions = new jmenuitem();
mnusystem.add(mnuitempermissions);
mnuitempermissions.settext("权限管理(e)...");
mnuitempermissions.settooltiptext("系统用户及其授权管理");
mnuitempermissions.setname("mnuitempermissions");
mnuitempermissions.setmnemonic(java.awt.event.keyevent.vk_e);
mnuitempermissions.seticon(new imageicon(getclass().getclassloader().getresource("img/permissions.png")));
mnuitempermissions.setdoublebuffered(false);
mnuitempermissions.addactionlistener(new actionlistener() {
public void actionperformed(actionevent e) {
openonlyoneinternalframe(frminlpermissions.getinstance());
}
});
}
{
septsystemtop = new jseparator();
mnusystem.add(septsystemtop);
septsystemtop.setname("septsystemtop");
septsystemtop.setdoublebuffered(false);
}
----------------------------------
字数太多,只能分开发。