sat*_*nam 0 java swing if-statement
我想要的是
在JPanel上,我有一个JButton和一个JTextArea.按下JButton后,必须在JTextArea中打印某些文本.这个特定的文本由if-else语句决定.if-else的条件基于整数变量R.
基本上它是一项调查,比如我正在尝试制作的问答案件.我用R来记录用户的答案.当用户单击选项时,R的值会更新.
我使用字符串变量你的电话.如果最后R的值是120,那么你的手机会更新为一个字符串,例如.Xperia Z.
我正在谈论的这个最终的JPanel是我显示结果的地方.R的总值用于if-else语句.
结构体
我发起像这样的变量
int R=0;
String yourphone;
Run Code Online (Sandbox Code Playgroud)
这是JPanel的代码
final JPanel result = new JPanel();
result.setBackground(Color.BLACK);
getContentPane().add(result, "name_17130054294139");
result.setLayout(null);
final JTextArea txtrphoneresult = new JTextArea();
txtrphoneresult.setRows(5);
txtrphoneresult.setBounds(68, 84, 285, 148);
result.add(txtrphoneresult);
JButton btnShowResult = new JButton("Show Result");
btnShowResult.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
txtrphoneresult.setText(yourphone + R);
}
});
btnShowResult.setBounds(68, 29, 103, 32);
result.add(btnShowResult);
Run Code Online (Sandbox Code Playgroud)
这是我的if-else语句的样子
if(R==1749)
{
yourphone = "Galaxy Mega 5.8";
}
if(R==1726)
{
yourphone = "Xperia Z";
}
else
{
yourphone = "NO Result";
}
Run Code Online (Sandbox Code Playgroud)
问题
在执行时,无论结果总是"无结果",这意味着R的值总是不是我预测的总数.但那不可能是正确的,因为我在旁边打印了R的值
txtrphoneresult.setText(yourphone + R);
Run Code Online (Sandbox Code Playgroud)
结果输出为"NO Result 1749".这是不可能的,因为它表明R的值被更新.如果它的1749然后输出应该是"Galaxy Mega 5.8".当if条件明显满足时,我不知道为什么它会从else语句中获取你的电话输出.
如果出现以下情况,您需要先添加else:
if(R==1749) {
yourphone = "Galaxy Mega 5.8";
} else if(R==1726) {
yourphone = "Xperia Z";
} else {
yourphone = "NO Result";
}
Run Code Online (Sandbox Code Playgroud)
否则,yourphone将是"NO Result"即便R == 1749.