我已经学会了使用 NotifyDescriptor 创建一个弹出对话框。我设计了一个带有两个大按钮的JPanel,它们读取PURCHASE和CASHOUT,我使用的代码在底部显示了另外两个按钮,读取Yes和No。我不希望 NotifyDescriptor 将自己的按钮放在屏幕上。我只希望我的按钮在那里,并且当单击我的自定义按钮之一时弹出窗口会关闭并存储值。(就像单击yes或no单击时它如何关闭窗口一样)。我正在使用的代码如下
// 创建面板实例,扩展 JPanel...
ChooseTransactionType popupSelector = new ChooseTransactionType();
// 创建自定义NotifyDescriptor,指定面板实例为参数+其他参数
NotifyDescriptor nd = 新的 NotifyDescriptor(
popupSelector, // 面板实例
"Title", // 对话框的标题
NotifyDescriptor.YES_NO_OPTION, // 是/否对话框 ...
NotifyDescriptor.QUESTION_MESSAGE, // ... 问题类型 => 一个问号图标
null, // 我们已经指定 YES_NO_OPTION => 可以为空,选项由 L&F 指定,
// 否则将选项指定为:
// new Object[] { NotifyDescriptor.YES_OPTION, ... etc. },
NotifyDescriptor.YES_OPTION //默认选项是“是”
);
// 现在让我们显示对话框...
if (DialogDisplayer.getDefault().notify(nd) == NotifyDescriptor.YES_OPTION) {
// 用户点击是,在这里做一些事情,例如:
System.out.println(popupSelector.getTRANSACTION_TYPE());
}