gpt4 book ai didi

Java - 无法让 jTextArea 中的 getText 正常工作

转载 作者:行者123 更新时间:2023-12-01 16:38:38 24 4
gpt4 key购买 nike

我有一个单独的 JFrame,其中有一个文本框 (jTextArea),它接受数字作为输入,每个文本框用新行分隔。使用文本框关闭 JFrame 后,数据应该存储在整数的 ArrayList 中。单击主 JFrame 中的按钮时会检查 ArrayList,如果发生错误,则会记录错误。

带有 jTextArea 的 JFrame 代码如下所示:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
boolean success = false;
try{
selectedTime = Long.parseLong(jTextField1.getText());
if(selectedTime >= 10000){
success = true;
if(!jTextArea1.equals("") && !jTextArea1.equals(null)){
try{
for(int i = 0; i < jTextArea1.getLineCount(); i++){
n = Integer.parseInt(jTextArea1.getText(jTextArea1.getLineStartOffset(i),jTextArea1.getLineEndOffset(i)));
if(n <= 172){
worldsChosen.add(n);
}
}
}catch(Exception e){
errorsHappened = true;
}
}
}else{
javax.swing.JOptionPane.showMessageDialog(null,"The specified time was not above or equal to 10000 ms. Please try again.");
success = false;
}
}catch(Exception e){
javax.swing.JOptionPane.showMessageDialog(null,"The specified time was not set in numbers exclusively. Please try again.");
success = false;
}
if(success){
gui.hideWorlds();
}
}

注意:它还会检查文本框输入的数字是否等于或大于 10000(这有效)。

主 JFrame 的代码:

 if(jCheckBox5.isSelected()){
checkWorld = true;
if(!worldsChosen.isEmpty()){
changeWorlds = true;
}else{
log("You've selected the option for automatic world switching,");
log("but all of your inputs weren't formatted correctly.");
errorsHappened = true;
}
}else{
errorsHappened = false;
}
if(errorsHappened == true){
log("One or multiple worlds weren't added due to incorrect formatting.");
log("Retry to make script automatically change worlds.");
}

每当我在选中复选框且文本区域中的内容格式正确的情况下运行脚本时(像这样):

1
2
3
4
5

等等

它输出所有日志消息(就好像已选中该复选框,但没有一个输入格式正确)。

我已尽我所能来解决这个问题,但我就是看不出它是如何搞砸的。

感谢任何帮助:)。

迈克·海耶。

最佳答案

阅读api doc of getText(int, int) :第二个参数不是偏移量。是一个长度。

旁注 1:将所有文本作为单个字符串并按换行符拆分,并将每个字符串解析为整数可能会更容易。

旁注 2:测试 if (jTextArea1.equals("")) 无法成功。 JTextArea 实例永远不会等于 String 实例。

关于Java - 无法让 jTextArea 中的 getText 正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583229/

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