Tablica JLabel i String – ustawienie napisów za pomocą setText i błąd kompilacji

0

Czesc Utworzylem 16 elementowa tablice JLabel i Stringow. Po czym chcialem za pomoca funkcji setText ustawic kazdy napis dla kazdego elementu JLabel ale kod sie nie kompiluje i do konca nie rozumiem dlaczego. setText przyjmuje Stringa wiec chyba nie ma problemu jak wysle 1 element z tablicy Stringa

package javaapplication16;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;


public class muzMachina {

  
    public static void main(String[] args) {
        muzMachina m = new muzMachina();
        m.createLabel();
      
        
        
    }
    
    
  
     JLabel [] listaEtykiet = new JLabel[16];
    String [] etykiety = { "Bass Drum", "Closed Hi-Hat","Open Hi-Hat","Acoustic Snare","Crash Cymbal","Hand Clap","High Tom","Hi Bongo","Maracas" , "Whistle" ,"Low Conga","CowBell","VibraSlap","Low-mid Tom","High Agogo","Open HI Conga" }; 

   
    void createLabel(){
        for(int i = 0; i<=14; i++){
       
       listaEtykiet[i].setText(etykiety[i]);
       System.out.println(listaEtykiet[i].getText());
       
        }
    
    
}


     
    
}

0
Exception in thread "main" java.lang.NullPointerException
	at javaapplication16.muzMachina.createLabel(muzMachina.java:30)
	at javaapplication16.muzMachina.main(muzMachina.java:15)
C:\Users\JRS\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)

a ja mam to hmm

0

Masz jeden błąd (nie utworzyłeś etykiet) i jedną usterkę (magiczne 14).

    void createLabel(){
        for(int i = 0; i<=listaEtykiet.length; i++){
       listaEtykiet[i] = new JLabel();
       listaEtykiet[i].setText(etykiety[i]);
       System.out.println(listaEtykiet[i].getText());

        }

lub krócej

        for(int i = 0; i<=listaEtykiet.length; i++){
       listaEtykiet[i] = new JLabel(etykiety[i]);
0

Dziekuje za pomoc no tak teraz juz rozumiem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1