| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1243 人关注过本帖
标题:WindowEvent适配器问题!
只看楼主 加入收藏
zhouqingle
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-2-4
收藏
 问题点数:0 回复次数:17 
WindowEvent适配器问题!

private class MakeFrameAction implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
JFrame subFrame = new CloseFrame(parFrame);
subFrame.show();
subFrame.addWindowListener(new WindowAdapter()
{
public void WindowClosing(WindowEvent event)
{
if(!parFrame.isShowing());
parFrame.show();
}
});
parFrame.hide();
}
}
我想关闭第二个窗口~然后第一个主窗口会显示出来```可是编译都通过了```主窗口还是没有Show出来`
帮看下应该怎么改。

搜索更多相关主题的帖子: WindowEvent parFrame 配器 subFrame void 
2006-11-12 18:05
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

你只给了代码片段,让我们怎么看


可惜不是你,陪我到最后
2006-11-12 19:39
yklsos
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-8
收藏
得分:0 
是啊,谁知道你前面做过什么
2006-11-12 19:45
zhouqingle
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-2-4
收藏
得分:0 

import java.awt.Toolkit;
import java.awt.Dimension;
import java.awt.Container;
import java.awt.Image;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class StudentFrame
{
public static void main(String[] args)
{
OpenFrame frame = new OpenFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}

class OpenFrame extends JFrame
{
private static final int WIDTH = 400;
private static final int HEIGHT = 300;
public OpenFrame()
{
Container con = getContentPane();
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int width = screenSize.width;
int height = screenSize.height;
int x = (width - WIDTH)/2;
int y = (height - HEIGHT)/2;
setBounds(x, y, WIDTH, HEIGHT);
Image image = kit.getImage("fuck.gif");
setIconImage(image);
setTitle("主窗口");
setResizable(false);
OpenButtonPanel panel = new OpenButtonPanel(this);
con.add(panel);
}
}

class OpenButtonPanel extends JPanel
{
private JButton makeNewFrameButton;
private JFrame parFrame;
public OpenButtonPanel(JFrame frame)
{
parFrame = frame;
makeNewFrameButton = new JButton("Open New Frame");
add(makeNewFrameButton);
makeNewFrameButton.addActionListener(new MakeFrameAction());
}


private class MakeFrameAction implements ActionListener
{

public void actionPerformed(ActionEvent e)
{
JFrame subFrame = new CloseFrame(parFrame);
subFrame.show();
subFrame.addWindowListener(new WindowAdapter()
{
public void WindowClosing(WindowEvent event)
{
if(!parFrame.isShowing());
parFrame.show();
}
});
parFrame.hide();
}
}
}


class CloseFrame extends JFrame
{
private static final int WIDTH = 400;
private static final int HEIGHT = 300;
private JFrame parFrame;

public CloseFrame(JFrame frame)
{
parFrame = frame;
Container con = getContentPane();
setSize(WIDTH, HEIGHT);
setTitle("第二个窗口");
setResizable(false);
CloseButtonPanel panel = new CloseButtonPanel(this);
con.add(panel);
}
class CloseButtonPanel extends JPanel
{
public CloseButtonPanel(JFrame subFrame)
{
JButton closeNewFrameButton = new JButton("Close New Button");
add(closeNewFrameButton);
closeNewFrameButton.addActionListener(new CloseNewFrameAction(subFrame));
}
}

class CloseNewFrameAction implements ActionListener
{
private JFrame subFrame;
public CloseNewFrameAction(JFrame subFrame)
{
this.subFrame = subFrame;
}
public void actionPerformed(ActionEvent e)
{
subFrame.hide();
parFrame.show();
}
}
}
不好意思```这回发完了~~我以为看这里可以看出问题```


学会珍惜,所以懂得放弃;学会残忍,所以懂得完整. 有自己的性格,自信,乐观,顺其自然,爱自己最好.
2006-11-12 22:32
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
我这里能运行啊
你想实现什么功能

可惜不是你,陪我到最后
2006-11-12 23:50
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

但是你的程序用了很多过时的方法
比如show(),hide()
应该用setVisible(true) setVisible(false)来代替


可惜不是你,陪我到最后
2006-11-12 23:51
zhouqingle
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-2-4
收藏
得分:0 

我是想在第二个窗口弹出来后~~按窗口右上角的关闭来关闭窗口~~使第一次主窗口跳回出来~~
可是我这里不跳啊~~晕了```还要按Ctrl+C才能结束进程~~~


学会珍惜,所以懂得放弃;学会残忍,所以懂得完整. 有自己的性格,自信,乐观,顺其自然,爱自己最好.
2006-11-12 23:56
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
加事件监听嘛
是不是你事件监听写错了
你的代码太多了,没有仔细看
你还是自己仔细检查一下吧

可惜不是你,陪我到最后
2006-11-13 00:00
zhouqingle
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-2-4
收藏
得分:0 
你那可以实现这个事件吗?~~
可是我的编译都通过了,没找出错误出来呢~~~

学会珍惜,所以懂得放弃;学会残忍,所以懂得完整. 有自己的性格,自信,乐观,顺其自然,爱自己最好.
2006-11-13 00:03
しΟν∈→鱈
Rank: 1
等 级:新手上路
威 望:2
帖 子:369
专家分:0
注 册:2006-10-25
收藏
得分:0 

你没有为你点第二个窗口程序上的关闭加个事件啊
把关闭事件重写下..........


开开心心的过&玩每一天!!!!
2006-11-13 00:28
快速回复:WindowEvent适配器问题!
数据加载中...
 
   



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

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