【发布时间】:2015-07-22 00:41:18
【问题描述】:
我是 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。
公共类 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");
}
【问题讨论】:
-
将
strArray设为实例字段,以便每个按钮都可以访问它。将它封装在某种模型中会更好,但这将是一个开始...... -
抱歉,您能解释一下我是怎么做到的,或者给我一个可以学习的链接吗?
-
什么是strArray?有两种——一种是数组类型
String[] strArray,另一种是你调用add方法strArray.add
标签: java arrays string arraylist