来自另一个 class 的 JOptionPane 变量有问题
Trouble with JOptionPane variable from another class
我使用 JOptionPane 设置了一些简单的代码,以便在单击按钮时打开一个简单的 showMessageDialog。一切正常。现在我通过从另一个 class 中检索一个双变量来使事情复杂化。我尝试了几种不同的方法,但仍然收到 "not applicable for arguments" 错误。我已尝试阅读完整的 Oracle 文档并观看了一些 YouTube 视频,但我仍在努力。
三个 classes,一个用于 GUI,一个用于事件处理,以及用于从中检索号码。
代码摘录如下:
public class TEST_GUI {
private JButton testButton;
public void GUI {
//construction of the GUI occurs here
testButton = new JButton("Tester");
}
protected class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent testButtonClicked) {
if (testButtonClicked.getSource() == testButton){
TesterClass tester = new TesterClass();
JOptionPane.showMessageDialog(null,tester.getRetrievedNumber());
}
}
}
public class TesterClass {
private double retrievedNumber;
public TesterClass(){
retrievedNumber = 1000.00;
}
public double getRetrievedNumber() {
return this.retrievedNumber;
}
}
通用 (null,"message") 参数一切正常,但它不接受来自另一个 class 的我的双变量。我将不胜感激任何指导。谢谢!
替换
tester.getRetrievedNumber()
和
String.valueOf(tester.getRetrievedNumber());
也就是说
public static void showMessageDialog(Component parentComponent, Object message)
因为我们可以看到 showMessageDialog
takes an object as 2nd parameter, AutoBoxing 应该在这里工作并且您的 double
被转换为 Double
对象。
在 Eclipse 中,它可以很好地使用基元作为参数。
也许问题出在别处,但我找不到。也许有更多信息...
我使用 JOptionPane 设置了一些简单的代码,以便在单击按钮时打开一个简单的 showMessageDialog。一切正常。现在我通过从另一个 class 中检索一个双变量来使事情复杂化。我尝试了几种不同的方法,但仍然收到 "not applicable for arguments" 错误。我已尝试阅读完整的 Oracle 文档并观看了一些 YouTube 视频,但我仍在努力。
三个 classes,一个用于 GUI,一个用于事件处理,以及用于从中检索号码。
代码摘录如下:
public class TEST_GUI {
private JButton testButton;
public void GUI {
//construction of the GUI occurs here
testButton = new JButton("Tester");
}
protected class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent testButtonClicked) {
if (testButtonClicked.getSource() == testButton){
TesterClass tester = new TesterClass();
JOptionPane.showMessageDialog(null,tester.getRetrievedNumber());
}
}
}
public class TesterClass {
private double retrievedNumber;
public TesterClass(){
retrievedNumber = 1000.00;
}
public double getRetrievedNumber() {
return this.retrievedNumber;
}
}
通用 (null,"message") 参数一切正常,但它不接受来自另一个 class 的我的双变量。我将不胜感激任何指导。谢谢!
替换
tester.getRetrievedNumber()
和
String.valueOf(tester.getRetrievedNumber());
也就是说
public static void showMessageDialog(Component parentComponent, Object message)
因为我们可以看到 showMessageDialog
takes an object as 2nd parameter, AutoBoxing 应该在这里工作并且您的 double
被转换为 Double
对象。
在 Eclipse 中,它可以很好地使用基元作为参数。
也许问题出在别处,但我找不到。也许有更多信息...