一个有菜单栏的窗口A继承了Frame,点击菜单栏弹出另外一个窗口B,
怎样将其设置为点击A上的菜单栏,弹出窗口B后,A窗口不能在点击,只有关闭B后才能在点击
用delphi是有个show和showModal方法,在java中怎样设置FrameA
import java.awt.*;
import java.awt.event.*;
public class FrameA extends Frame implements ActionListener{
Button ButtonOk =new Button ( "ok ");
public FrameA(){
super ( "111 ");
setLayout(null);
setSize(100,200);
ButtonOk.setBounds(100,100,35,50);
ButtonOk.addActionListener(this);
add(ButtonOk);
setVisible(true);
validate();
}
public static void main(String[] args){
FrameA fr=new FrameA();
}
public void actionPerformed(ActionEvent e){
FrameB b=new FrameB();
}
}
FrameB
import java.awt.*;
public class FrameB extends Frame {
public FrameB(){
super ( "BBB ");
setSize(100,200);
setLayout(null);
setVisible(true);
validate();
}
} 前面发了个贴,得到了弹出B后A不能点,但是问题又出来了,当关闭了B后,A仍然不能点击FrameA
import java.awt.*;
import java.awt.event.*;
public class FrameA extends Frame implements ActionListener{
Button ButtonOk =new Button ( "ok ");
public FrameA(){
super ( "111 ");
setLayout(null);
setSize(100,200);
ButtonOk.setBounds(100,100,35,50);
ButtonOk.addActionListener(this);
add(ButtonOk);
setVisible(true);
validate();
}
public static void main(String[] args){
FrameA fr=new FrameA();
}
public void actionPerformed(ActionEvent e){
FrameB b=new FrameB();
this.setEnabled(false);/////////////加上这行就可以了
}
}
FrameB
import java.awt.*;
public class FrameB extends Frame {
public FrameB(){
super ( "BBB ");
setSize(100,200);
setLayout(null);
setVisible(true);
validate();
}
}
怎样将其设置为点击A上的菜单栏,弹出窗口B后,A窗口不能在点击,只有关闭B后才能在点击
用delphi是有个show和showModal方法,在java中怎样设置FrameA
import java.awt.*;
import java.awt.event.*;
public class FrameA extends Frame implements ActionListener{
Button ButtonOk =new Button ( "ok ");
public FrameA(){
super ( "111 ");
setLayout(null);
setSize(100,200);
ButtonOk.setBounds(100,100,35,50);
ButtonOk.addActionListener(this);
add(ButtonOk);
setVisible(true);
validate();
}
public static void main(String[] args){
FrameA fr=new FrameA();
}
public void actionPerformed(ActionEvent e){
FrameB b=new FrameB();
}
}
FrameB
import java.awt.*;
public class FrameB extends Frame {
public FrameB(){
super ( "BBB ");
setSize(100,200);
setLayout(null);
setVisible(true);
validate();
}
} 前面发了个贴,得到了弹出B后A不能点,但是问题又出来了,当关闭了B后,A仍然不能点击FrameA
import java.awt.*;
import java.awt.event.*;
public class FrameA extends Frame implements ActionListener{
Button ButtonOk =new Button ( "ok ");
public FrameA(){
super ( "111 ");
setLayout(null);
setSize(100,200);
ButtonOk.setBounds(100,100,35,50);
ButtonOk.addActionListener(this);
add(ButtonOk);
setVisible(true);
validate();
}
public static void main(String[] args){
FrameA fr=new FrameA();
}
public void actionPerformed(ActionEvent e){
FrameB b=new FrameB();
this.setEnabled(false);/////////////加上这行就可以了
}
}
FrameB
import java.awt.*;
public class FrameB extends Frame {
public FrameB(){
super ( "BBB ");
setSize(100,200);
setLayout(null);
setVisible(true);
validate();
}
}
解决方案 »
- 关于字符串转数字的问题
- 请高手帮忙分析分析脚本的意思,谢谢!LINUX 与WINDOWS又什么区别。谢谢 !
- 请问:有关java中 HashSet 的问题,主要是打印结果输出顺序的问题
- 为什么没有输出最大公约数
- applet中指定package后如何在html中运行.
- 问个轻松的话题:大家怎么看电子书啊?
- 初学者问一个很简单的问题,快来捡分呀!!
- 请问用JBuilder开发Applet,如果把鼠标指针变成漏斗?
- 请教高手,如何在一个String 中加入硬回车
- JBuilder 或 Jdk 中的 javax.media.* 包呢?(( 急!!! !!!!))
- 大家快快帮忙啊
- 用JFreeChart创建Timeseries,我想点击此控件,能获得所点位置的Timeserie横纵坐标值
A类 中定义一个B 类的对象.
B类 中定义一个A 类的对象.
B 类的构造函数设计为:
Class B extends Frame
{
B(A a)
{ this.a = a;
addWindowListener(new WindowAdapter()
{
public void windowClosed(WindowEvent e)
{
a.setEnabled(true); }
}
);
}
}
Class A extends Frame
{
B b;
Button b = new Button("fd");
A()
{
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){
b=new B(A.this);
b.setVisible(true);
A.thisa.setEnabled(false);
}
}
就是这种框架
这是个基本思路,由于好久没写,我也不晓得类,和方法名写错没.可以到jdk文档核实下
主要是windowActionListener 和后面的方法window后面带不带s 我忘了.
hehe 没办法.现在基本不用那个了
上面的程序 最后一个"}" 的上面在加一个"});"
由于没工具,不能帮你调试.
希望你能搞清楚思路
JDialog实例化时要传入3个参数JFrame myFrame,String title,boolean modal
第1个参数为主窗体,第2 为弹出窗口的标题,第3 参数值为true时弹出窗口就是 模式窗口了(即主窗体不可操作了)