我需要一些关于JDialog的建议。
我需要捕获“输入”数据,我想知道,最好的方法是什么。 好的,这是完整的问题。当用户单击按钮(位于JFrame上)时,JDialog会弹出,并且有3个文本字段用于entrys和一个组合框。用户按下确定后,我需要在JFrame中返回这些数据。好吧,我可以在我的路上这样做,但那太多的意大利面条代码:))我应该使用什么样的听众?如果你愿意给我代码示例,我会很感激:)
答案 0 :(得分:1)
嗯有很多方法可以解决它,也许你可以尝试使用如下界面的委托方法:
public interface DialogListener {
public boolean okClicked(String input1, String input2, String input3, String combo);
public void cancelClicked();
}
(布尔值是指你决定不关闭对话框)。
如果您正在使用MVC方法并将该组件添加为自定义对话框的侦听器,请在帧或帧控制器中实现它。
另一种方法是在对话框上设置属性,然后您的框架或控制器可以在对话框中查询输入值。
这取决于你想要的通用程度。
你也可能有这样的东西,它更通用,可重用,但不太方便:
public interface DialogListener {
public boolean okClicked(JDialog dialog, Map<String, JComponent> components);
public void cancelClicked();
}