[英]How do I link arrays from different buttons together?
我是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。 因此,現在我已經輸出了此信息,“初始化”按鈕被禁用,“添加和刪除”被啟用。 這是我發現問題的地方。 在鍵入字符串並單擊添加按鈕之后,它沒有將字符串添加到在“初始化”按鈕代碼中鍵入的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()));
}
如何將所有strArray鏈接在一起,以便通過一個按鈕對其進行操作,同時又更改另一個按鈕中的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");
}
缺少太多上下文,更不用說混淆使用數組和其他具有add
方法的東西了...
本質上,如果您希望類的方法能夠與相同的變量進行交互,則應將該變量聲明為類實例字段。 有關更多詳細信息,請參見了解班級成員 。
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");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.