gpt4 book ai didi

java - JOptionPane showInputDialog 如何工作?

转载 作者:行者123 更新时间:2023-12-01 18:54:36 34 4
gpt4 key购买 nike

我想知道 inputdialog 如何返回值,特别是当还有“确定”和“取消”按钮时。有人可以解释一下它是如何实现返回值的吗?

更新:

让我这样说吧。我想创建一个包含 6 个按钮的对话框,每个按钮返回不同的值。我希望它得到这样的值:字符串值 = MyDialog.getValue();//就像showInputDialog

问题是如何在按下按钮时返回值?

最佳答案

现在我对您的目标有了更清晰的了解,我认为与其尝试模拟 JOptionPane,不如为每个按钮提供不同的 actionCommand 会更容易:

private JDialog dialog;

private String inputValue;

String showPromptDialog(Frame parent) {
dialog = new JDialog(parent, true);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

// [add components to dialog here]

firstButton.setAction(new ButtonAction("Button 1", "first"));
secondButton.setAction(new ButtonAction("Button 2", "second"));
thirdButton.setAction(new ButtonAction("Button 3", "third"));
fourthButton.setAction(new ButtonAction("Button 4", "fourth"));
fifthButton.setAction(new ButtonAction("Button 5", "fifth"));
sixthButton.setAction(new ButtonAction("Button 6", "sixth"));

dialog.pack();
dialog.setLocationRelativeTo(parent);

inputValue = null;
dialog.setVisible(true);

return inputValue;
}

private class ButtonAction
extends AbstractAction {
private static final long serialVersionUID = 1;

ButtonAction(String text,
String actionCommand) {
super(text);
putValue(ACTION_COMMAND_KEY, actionCommand);
}

public void actionPerformed(ActionEvent event) {
inputValue = event.getActionCommand();
dialog.dispose();
}
}

关于java - JOptionPane showInputDialog 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14513494/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com