注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

古城风~~~

竹密无妨溪水过,天高不碍白云飞。这天下总有一份是属于我古城的天地!

 
 
 

日志

 
 

窗体中实现子窗体  

2008-08-29 21:35:26|  分类: java/jsp |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/*import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;*/
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;

/*
 * 菜单(JMenuBar),子窗体(JInternalFrame),文本(JTextField),按钮(JButton)
*/
public class FrameText {

 public static void main(String[] args) {
  new WinFrame("JFrame实例");
 }

}

class WinFrame extends JFrame implements ActionListener {

 private static final long serialVersionUID = 1L;
 
 //定位
 private final int WIN_X=150, WIN_Y=150,WIN_WIDTH=750,WIN_HEIGHT=600;
 private final int JIF_X=50, JIF_Y=50, JIF_WIDTH=150, JIF_HEIGHT=150;
 private int x=0, y=0;
 private int count=3;
 //菜单
 private JMenuBar jmb=null;
 private JMenu jm1=null, jm2=null;
 private JMenuItem jmi1=null, jmi2=null, jmi3=null;
 //子窗体
 private JDesktopPane jdp=null;
 private JInternalFrame jif1=null, jif2=null;
 
 private JPanel jp=null;
 private JTextField text=null;
 private JButton bOK=null;

 private Container contentPane=null;

 public WinFrame(String name){
  super(name);
  contentPane= this.getContentPane();
  /*this.addWindowListener(new WindowAdapter(){

   @Override
   public void windowClosing(WindowEvent arg0) {
    System.exit(0);
   }
   
  });*/
  
  //菜单栏
  jmb=new JMenuBar();
  jm1=new JMenu("窗口");
  jmi1=new JMenuItem("新建");
  jm2=new JMenu("顺序");
  jmi2=new JMenuItem("往后");
  jmi3=new JMenuItem("往前");
  jmi1.addActionListener(this);
  jmi2.addActionListener(this);
  jmi3.addActionListener(this);
  jm1.add(jmi1);
  jm2.add(jmi2);
  jm2.add(jmi3);
  jm1.add(jm2);
  jmb.add(jm1);
  this.setJMenuBar(jmb);
  
  //顶层组件
  jdp=new JDesktopPane();
  jdp.setBackground(Color.CYAN);
  
  jif1=new JInternalFrame("Top Frame");
  jif1.reshape(this.JIF_X, this.JIF_Y, this.JIF_WIDTH, this.JIF_HEIGHT);
  jif1.setLayer(new Integer(1));
  jif1.setVisible(true);
  jdp.add(jif1);
  
  jif2=new JInternalFrame("Two Frame",false,true,true);
  this.x=this.JIF_X+150;
  this.y=this.JIF_Y;
  jif2.reshape(this.x, this.y, this.JIF_WIDTH+100, this.JIF_HEIGHT+100);
  jif2.setLayer(new Integer(2));
  jif2.addInternalFrameListener(new MyInternalListener());
  jif2.setVisible(true);
  jdp.add(jif2);
  
  contentPane.add(jdp,BorderLayout.CENTER);
  
  jp=new JPanel();
  text=new JTextField(20);
  bOK=new JButton("确定");
  jp.add(text);
  jp.add(bOK);
  contentPane.add(jp,BorderLayout.NORTH);
  
  
  this.setBackground(Color.YELLOW);
  this.setResizable(true);
  this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  this.setBounds(this.WIN_X,this.WIN_Y,this.WIN_WIDTH,this.WIN_HEIGHT);
  this.setVisible(true);
 }

 
 public void actionPerformed(ActionEvent e) {
  JMenuItem jmi=(JMenuItem)e.getSource();
  /*System.out.println(this.jmi1.getText());
  System.out.println(jmi.getText());*/
  if(this.jmi1.getText().equals(jmi.getText())){
   //参数一是窗口名,二是能否改变大小,三是是否能关闭,四是是否可以最大化,五是是否可以最小化
   JInternalFrame jif=new JInternalFrame(Integer.toString(count++),false,true,true,true);
   this.x+=50;
   this.y+=50;
   jif.reshape(x, y, JIF_WIDTH, JIF_HEIGHT);
   jif.setLayer(count);
   jif.addInternalFrameListener(new MyInternalListener());
   jif.setVisible(true);
   jif.show();  //移动到最前面
   jdp.add(jif);
  } else {
   
  }
 }
 
 
 private class MyInternalListener extends InternalFrameAdapter {

  @Override
  public void internalFrameClosing(InternalFrameEvent ife) {
   ((JInternalFrame)ife.getSource()).dispose();
   System.out.println("回收资源成功!");
  }
  
 }
}

  评论这张
 
阅读(474)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017