java webbrowser应该如何销毁dispose有问题 主窗体有一系列菜单,点击一个菜单弹出一个JFrame对象,在此窗体内嵌入一个webbrowser,如果将JFrame设置为DISPOSE_ON_CLOSE后主窗体的菜单失灵都不能点击;如果将JFrame关闭设置为setVisible(false),则点击菜单重新打开JFrame对象,浏览器内容不能正常显示求助!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在mainframe.java里菜单点击事件 private void jMenuItem_RouteMapActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: JFrame frm_RouteMap = new RouteMap("RouteMap"); frm_RouteMap.setVisible(true); } 在RouteMap.java里:public class RouteMap extends JFrame{ private WebBrowser webBrowser; private final String url= "http://localhost:8080/XXXX/RealMap.jsp"; public RouteMap(String name) { super(name); initializeMapFrame(); // this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);这句注释掉就是再次点击菜单浏览器没有任何显示,要是增加了就是窗体关闭了其它菜单项不能点击了 } private void initializeMapFrame() { webBrowser = new WebBrowser(); try{ webBrowser.setURL(new URL(url)); }catch(MalformedURLException e){ return; } this.add(webBrowser, BorderLayout.CENTER); this.pack(); this.setExtendedState(JFrame.MAXIMIZED_BOTH); } } 在mainframe.java里菜单点击事件 private void jMenuItem_RouteMapActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: JFrame frm_RouteMap = new RouteMap("RouteMap"); frm_RouteMap.setVisible(true); } 在RouteMap.java里:public class RouteMap extends JFrame{ private WebBrowser webBrowser; private final String url= "http://localhost:8080/XXXX/RealMap.jsp"; public RouteMap(String name) { super(name); initializeMapFrame(); // this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);这句注释掉就是再次点击菜单浏览器没有任何显示,要是增加了就是窗体关闭了其它菜单项不能点击了 } private void initializeMapFrame() { webBrowser = new WebBrowser(); try{ webBrowser.setURL(new URL(url)); }catch(MalformedURLException e){ return; } this.add(webBrowser, BorderLayout.CENTER); this.pack(); this.setExtendedState(JFrame.MAXIMIZED_BOTH); } }EventQueue.invokeLater(new Runnable() { public void run() { try { //LoginWindow window = new LoginWindow(); //window.frame.setVisible(true); JFrame frm_RouteMap = new RouteMap("RouteMap"); frm_RouteMap.setVisible(true); } catch (Exception e) { log.error("new RouteMap error", e); } } }); 在mainframe.java里菜单点击事件 private void jMenuItem_RouteMapActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: JFrame frm_RouteMap = new RouteMap("RouteMap"); frm_RouteMap.setVisible(true); } 在RouteMap.java里:public class RouteMap extends JFrame{ private WebBrowser webBrowser; private final String url= "http://localhost:8080/XXXX/RealMap.jsp"; public RouteMap(String name) { super(name); initializeMapFrame(); // this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);这句注释掉就是再次点击菜单浏览器没有任何显示,要是增加了就是窗体关闭了其它菜单项不能点击了 } private void initializeMapFrame() { webBrowser = new WebBrowser(); try{ webBrowser.setURL(new URL(url)); }catch(MalformedURLException e){ return; } this.add(webBrowser, BorderLayout.CENTER); this.pack(); this.setExtendedState(JFrame.MAXIMIZED_BOTH); } }EventQueue.invokeLater(new Runnable() { public void run() { try { //LoginWindow window = new LoginWindow(); //window.frame.setVisible(true); JFrame frm_RouteMap = new RouteMap("RouteMap"); frm_RouteMap.setVisible(true); } catch (Exception e) { log.error("new RouteMap error", e); } } });没有异常抛出。 关于JTable 插入行的其他问题 显示不出button 为什么我的JBuilder当使用集合的时候总是提示错误 电子词典的hash算法 char和int相加的问题 java加载SQL驱动 令人迷惑的JMF安装问题 非常急的问一下:.class文件怎么才能看见? java与打印--搞不明白! NoClassDefFoundError 错误 自己编译jdk的时候报错了 关于AWT的空指针异常问题
private void jMenuItem_RouteMapActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
JFrame frm_RouteMap = new RouteMap("RouteMap");
frm_RouteMap.setVisible(true);
}
在RouteMap.java里:
public class RouteMap extends JFrame{
private WebBrowser webBrowser;
private final String url= "http://localhost:8080/XXXX/RealMap.jsp";
public RouteMap(String name) {
super(name);
initializeMapFrame();
// this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);这句注释掉就是再次点击菜单浏览器没有任何显示,要是增加了就是窗体关闭了其它菜单项不能点击了
}
private void initializeMapFrame() {
webBrowser = new WebBrowser();
try{
webBrowser.setURL(new URL(url));
}catch(MalformedURLException e){
return;
}
this.add(webBrowser, BorderLayout.CENTER);
this.pack();
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
}
private void jMenuItem_RouteMapActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
JFrame frm_RouteMap = new RouteMap("RouteMap");
frm_RouteMap.setVisible(true);
}
在RouteMap.java里:
public class RouteMap extends JFrame{
private WebBrowser webBrowser;
private final String url= "http://localhost:8080/XXXX/RealMap.jsp";
public RouteMap(String name) {
super(name);
initializeMapFrame();
// this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);这句注释掉就是再次点击菜单浏览器没有任何显示,要是增加了就是窗体关闭了其它菜单项不能点击了
}
private void initializeMapFrame() {
webBrowser = new WebBrowser();
try{
webBrowser.setURL(new URL(url));
}catch(MalformedURLException e){
return;
}
this.add(webBrowser, BorderLayout.CENTER);
this.pack();
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
//LoginWindow window = new LoginWindow();
//window.frame.setVisible(true);
JFrame frm_RouteMap = new RouteMap("RouteMap");
frm_RouteMap.setVisible(true);
} catch (Exception e) {
log.error("new RouteMap error", e);
}
}
});
private void jMenuItem_RouteMapActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
JFrame frm_RouteMap = new RouteMap("RouteMap");
frm_RouteMap.setVisible(true);
}
在RouteMap.java里:
public class RouteMap extends JFrame{
private WebBrowser webBrowser;
private final String url= "http://localhost:8080/XXXX/RealMap.jsp";
public RouteMap(String name) {
super(name);
initializeMapFrame();
// this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);这句注释掉就是再次点击菜单浏览器没有任何显示,要是增加了就是窗体关闭了其它菜单项不能点击了
}
private void initializeMapFrame() {
webBrowser = new WebBrowser();
try{
webBrowser.setURL(new URL(url));
}catch(MalformedURLException e){
return;
}
this.add(webBrowser, BorderLayout.CENTER);
this.pack();
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
//LoginWindow window = new LoginWindow();
//window.frame.setVisible(true);
JFrame frm_RouteMap = new RouteMap("RouteMap");
frm_RouteMap.setVisible(true);
} catch (Exception e) {
log.error("new RouteMap error", e);
}
}
});
没有异常抛出。