簡體   English   中英

如何將來自不同按鈕的數組鏈接在一起?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM