gpt4 book ai didi

Java Swing : return value when button clicked

转载 作者:行者123 更新时间:2023-11-30 04:16:05 25 4
gpt4 key购买 nike

我正在尝试创建一个包含“生成”按钮的方法,每当我单击该按钮时,该方法都可以将值(字符串或其他内容)返回到方法的调用类。我尝试这样做:

//start methode in "Generator" Class
public String start()
{
String format = new String("");

this.generateBtn.addActionListener(new ActionListener()
{
public String actionPerformed(ActionEvent arg0)
{
//after doing operations on "format" string

return format;
}

});

我用这种方式从另一个类调用了 start 方法:

Generator genDialog =new Generator();
String format = genDialog.start();

我在生成器类中遇到此错误:

返回类型与 ActionListener.actionPerformed(ActionEvent) 不兼容

我怎样才能实现我想做的事?我需要获取当我单击内部按钮时调用的类的值。

最佳答案

看起来你的 Generator 类是一个对话框。如果它是模式对话框,则 setVisible(true) 方法将阻塞,直到对话框被隐藏。因此,您的generateBtn操作监听器应该做的是将生成的字符串存储在成员变量中,然后调用setVisible(false)。然后,您的 start 方法设置调用 setVisible(true) 并返回值。

它看起来像这样。

 public class Generator  extends JDialog {
private String format;
private JButton generateBtn;

public Generator () {
setModal(true);
generateBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// create format string
setVisible(false);
}
});
}

public String start() {
setVisible(true);
return format;
}
}

关于Java Swing : return value when button clicked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18340256/

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