我是java的新手,我需要一些帮助!
在我的代码工作很长一段时间之后,我终于在我的代码中找到了问题。问题是我有3个单独的按钮是私有的,如果这与任何事情有关,并且每个按钮都假设从我的数组中添加/减去字符串。我有一个名为strArray和3个按钮的数组,假设在单击,初始化,添加和删除时修改它。第一个按钮是Initialize,单击时输出
private void togbtnInitializeActionPerformed(java.awt.event.ActionEvent evt) {
togbtnAdd.setEnabled(true);
togbtnRemove.setEnabled(true);
togbtnDisplay.setEnabled(true);
String[] strArray = {"Calvin Harris - Overdrive(Part 2)", "DVBBS & Borgeous - TSUNAMI", "Martin Garrix - Tremor", "Martin Garrix - Animals", "Firebeatz - Max Ammo"};
int intArrayLength = strArray.length;
for (int i = 0; i < intArrayLength; i++){
this.txtAreaOutput.setText(txtAreaOutput.getText() + "\n" + strArray[i]);
}
togbtnInitialize.setEnabled(false);
}
进入我的gui中的textArea。所以现在输出了这个,初始化按钮被禁用,启用了添加和删除。这是我发现问题的地方。输入字符串并单击添加按钮后,它没有将字符串添加到我在Initialize按钮代码中输入的strArray中。我通过使用“添加”按钮打印strArray来检查这个,它只保留了我刚刚添加到其中的那个。
private void togbtnAddActionPerformed(java.awt.event.ActionEvent evt) {
strArray.add(this.txtInputName.getText());
System.out.println(strArray);
this.txtAreaOutput.setText(txtAreaOutput.getText() + "\n" + strArray.get(strArray.size()));
}
如何将所有strArrays链接在一起,这样如果我用一个按钮对它执行某些操作,它还会更改另一个按钮中的strArray?提前谢谢!
编辑:我仍然无法访问strArray,除非在我的按钮中为它创建一个变量。
public class U3A4_CDCollection扩展了javax.swing.JFrame {
public U3A4_CDCollection() {
initComponents();
ArrayList<String> strArray = new ArrayList<String>();
strArray.add("Calvin Harris - Overdrive(Part 2)");
strArray.add("DVBBS & Borgeous - TSUNAMI");
strArray.add("Martin Garrix - Tremor");
strArray.add("Martin Garrix - Animals");
strArray.add("Firebeatz - Max Ammo");
}
答案 0 :(得分:0)
缺少很多上下文,更不用说使用数组的混淆以及其他具有add
方法的内容......
基本上,如果您希望类的方法能够与同一个变量进行交互,那么该变量应该声明为类实例字段。有关详细信息,请参阅Understanding Class Members。
public class U3A4_CDCollection extends javax.swing.JFrame {
private ArrayList<String> strArray;
public U3A4_CDCollection() {
initComponents();
strArray = new ArrayList<String>();
strArray.add("Calvin Harris - Overdrive(Part 2)");
strArray.add("DVBBS & Borgeous - TSUNAMI");
strArray.add("Martin Garrix - Tremor");
strArray.add("Martin Garrix - Animals");
strArray.add("Firebeatz - Max Ammo");
}