| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 996 人关注过本帖
标题:如何监听?请各位帮解释一下
只看楼主 加入收藏
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 

这是我帮你修改的代码,在内部窗口用InternalFrameListener注册监听器
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
class MainWindow extends JFrame{
private JDesktopPane theDesktop;
private JMenuBar bar;
public MainWindow()
{
super("这里是主窗口");

bar = new JMenuBar();
JMenu addWindow = new JMenu("add");
JMenuItem open = new JMenuItem("add one");
addWindow.add( open );
bar.add ( addWindow );
setJMenuBar( bar );

theDesktop = new JDesktopPane();//用来放子窗
getContentPane().add( theDesktop );//把子装子窗的面板放进

open.addActionListener(
new ActionListener(){
public void actionPerformed( ActionEvent ae ){

MyJInternalFrame frame = new MyJInternalFrame(
"这里是子窗口",true,true,true,true);
Container container = frame.getContentPane();
MyJPanel panel = new MyJPanel();
container.add( panel, BorderLayout.CENTER );
frame.pack();
theDesktop.add( frame );
frame.setVisible( true );

}
}

);
setSize(800,600);
setVisible( true );

}
public static void main(String arg[])
{
MainWindow mainWindow = new MainWindow();
mainWindow.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}
class MyJPanel extends JPanel{
public MyJPanel()
{
}
public void paintComponent( Graphics g )
{
super.paintComponent( g );
g.drawRect( 25,25,450,300);
g.drawString("在窗口里我也能画",30,60);
}

public Dimension getPerferredSize()
{
return new Dimension(700,500);
}
}
class MyJInternalFrame extends JInternalFrame{
/*public MyJInternalFrame(){}*/
public MyJInternalFrame(String s,boolean b1,boolean b2,boolean b3,boolean b4)
{
super( s, b1, b2, b3, b4);
addInternalFrameListener(new InternalFrameAdapter()
{
public void internalFrameClosed(InternalFrameEvent e)
{
System.out.println("窗口关闭");
JOptionPane.showMessageDialog(null,"窗口关闭");
}
});
}
}


when i want to ask anyone,i will ask myself first.
2006-06-20 20:57
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 

很奇怪
我也是这么写的 但老报错 在add这里


子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-20 21:02
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 
11楼的代码改的没有问题了.
是我不细心 以后好好查资料!
谢了

2006-06-20 21:09
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
多查查API 就能解决了

when i want to ask anyone,i will ask myself first.
2006-06-20 21:53
快速回复:如何监听?请各位帮解释一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018646 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved