我是編程初學者。我正在搞java swing,並試圖製作一個愚蠢的應用程序。這是我的代碼。它沒有顯示任何錯誤,但它不起作用。彈出對話框時,變量的值不會顯示在對話框中。我使用的邏輯是正確的,因爲當我在編譯器中運行沒有GUI的東西時,它完美地工作。如果有人能夠說出我在這裏做錯了什麼,那將會非常有幫助。如何在java swing中彈出對話框顯示變量的值
這是我的計算代碼。
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JOptionPane;
public class swingApp extends JFrame{
JLabel label;
JButton button;
public JLabel label2;
JTextField textField = new JTextField("enter you nicknamae");
String username=textField.getText();
public int geniusMeter;
public int sum=0;
public String sumAsString;
public void swingAppLogic(String name){
char[] letters = username.toCharArray();
char [] alphabet={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int [] measure={7,3,1,13,8,26,15,18,2,5,22,20,16,9,5,11,23,12,25,6,4,21,24,14,17,10};
for(int count=0;count<letters.length;count++){
for (int count1=0;count1<alphabet.length;count1++){
if (letters[count]==alphabet[count1]){
geniusMeter=measure[count1];
sum=sum+geniusMeter;
break;
}
}
}
sumAsString = Integer.toString(sum);
}
public swingApp(){
super("Genius Calculator");
setLayout(new FlowLayout());
label = new JLabel("Wanna know how genius you are?");
label2 = new JLabel(" ");
button = new JButton("press enter and then click me to know the results");
handlerClass handler = new handlerClass();
button.addActionListener(handler);
add(label);
add(label2);
add(button);
add(textField);
}
public class handlerClass implements ActionListener{
public void actionPerformed(ActionEvent event){
JOptionPane.showMessageDialog (null, sumAsString, "Title", JOptionPane.INFORMATION_MESSAGE);
}
}
}
,這是我的主要方法
import javax.swing.JFrame;
public class swingAppTester{
public static void main (String [] args){
swingApp object=new swingApp();
object.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
object.setSize(500,400);
object.setVisible(true);
}
}
您不要在任何地方調用sumAppString()方法來計算sumAsString的值。 – Areca
那麼我能做些什麼來解決它?我應該在哪裏調用該方法? –
解決方案在hamena314的答案。 – Areca