在你的程序里面加一个变量private int returnCode = -1 ;//按整个Dialog右上的"关闭"
当按下"确定",returnCode = 0 ;
当按下"取消", returnCode = 1 ;
这样三种状态不就确定下来了嘛
当按下"确定",returnCode = 0 ;
当按下"取消", returnCode = 1 ;
这样三种状态不就确定下来了嘛
解决方案 »
- neatbeans 多个TextField组件关联同一个popupMenu,如何添加popupMenuItem的事件,以判断是那个组件上弹出的菜单?
- 小小问题~~~大家来看看~~~
- 如何取文件类型
- 一个sql select语句中有需要输入的变量,如何重组sql在变量输入少或者没有的情况下保证sql还是能正确执行
- JAVA和C程序的交互问题 高分 在线等待
- 通过”俄罗斯方块“系统学习java,请高手指点!
- 好奇怪的初始化问题。
- 我想下载jdk,谁能提供下载的网址?
- catch的错误会引起程序崩溃吗?
- Comparison method violates its general contract!
- 如何將多個.class轉成一個.jar的文件???
- JBuild中的中文问题
我用一个String backInfo来标志它,但是我确定退出后,backInfo居然还是默认值。
void jBOk_actionPerformed(ActionEvent e) {
backInfo = "OK";
this.dispose();
}
public String getBackInfo() {
return backInfo;
}
调用ShowMsg sm = new ShowMsg();
sm.show();
String backInfo = sum.getBackInfo();
System.out.println(backInfo);//值没有改变
dialog.show();
Object selectedValue = pane.getValue();
所以需要在你扩展JDialog里面(不妨为NewDialog),构造函数最好带上参数(Frame owner, boolean modal)//modal为真是就是在调用这个dialog时主页面不可选……,也就是主页面里面的程序不会继续往下执行,类似showModalDialog
另外你要返回按钮的属性值来判断是哪个按钮退出。这很好办。
在主Frame里面重写按钮的事件,即写一个class extends NewDialog吧(扩展你自己写的哪个Dialog)。
比如在你的主frame里面定义一个String bakeInfo;
class NewDialogInfo extends NewDialog{
public NewDialogInfo (Frame owner, boolean modal) {
super(owner, modal);
}
void jBOK_actionPerformed(ActionEvent e) {
backInfo = "OK";
this.dispose();
}
}
需要调用NewDialog的时候使用:
backInfo = "NO";
NewDialogInfo newd = new NewDialogInfo(this, true);
sumi.show();
按确定退出,backInfo就会置成OK,我试过,可以成功。
主Frame代码太长,不好贴
我自己扩展的dialog很简单,就是一个按钮罢了
to alphazhao(绿色咖啡)
我试试你的,成功的话回头结贴