NullPointerException obwohl genug Elemente im Arra

Hallo,

ich brauch dazu relativ wenig schreiben. Soll ein Programm werden, was von mehreren Computern Live anzeigen soll. Quellcode (bis auf den von TableLayout.jar (LayoutManager))

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.*;

import javax.imageio.ImageIO;
import javax.swing.*;

import layout.TableLayout;

public class index {

/**
* @param args
*/
public static void main(String[] args) {
String[] opt1 = {„Client“,„Server“};
if(JOptionPane.showOptionDialog(null, „Ist der Rechner…“, „LAN-View v0.1 alpha“,JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, opt1, 0) == 0){
String server = „“;
while(server == „“){
server = JOptionPane.showInputDialog(null, „Die Serveranwendung muss spätestens jetzt gestartet worden sein.\nGeben Sie die Server-IP ein:“);
boolean x = false;
InetAddress ia = null;
try {
ia = InetAddress.getByName(server);
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
int cport = 1250;
JFrame clientframe = new JFrame();
clientframe.setBounds(0, 0, 500, 0);
clientframe.setTitle(„Lan-Viewer: Client (Server: „+server+“) Dieses Fenster zum Beenden schließen.“);
clientframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
clientframe.setVisible(true);
while(x == false){
try {
byte[] data_ = image_create();
System.out.println(data_.length);
DatagramPacket packet1 = new DatagramPacket( data_, data_.length, ia, cport );
DatagramSocket toSocket1;
toSocket1 = new DatagramSocket();
toSocket1.send( packet1 );
} catch (Exception e) {
e.printStackTrace();
}
}
}
} else {
int zeilen = Integer.parseInt(JOptionPane.showInputDialog(null, „Wieviele Zeilen?\n(quer)“));
int spalten = Integer.parseInt(JOptionPane.showInputDialog(null, „Wieviele Spalten?\n(hoch)“));
JOptionPane.showMessageDialog(null, spalten);
JFrame serverframe = new JFrame();
serverframe.setTitle(„LAN-View: Server (“ + getOwnIP() +") [Dieses Fester zum Beenden schließen]");
serverframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
serverframe.setVisible(true);
serverframe.setBounds(0, 0, 300, 200);
JLabel[] labels = new JLabel[spalten*zeilen];
ImageIcon[] imgs = new ImageIcon[spalten*zeilen];
double[][] ld = new double[spalten][zeilen*2];
for(int i = 0; i

Terminal:

0
Exception in thread „main“ java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at javax.swing.JFrame.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at index.main(index.java:79)

NullPointerEx. hat nix mit Array-Indizes zu tun!
Du erwartest, das ich aus ca. 150 Zeilen Code die sechs Zeilen um Zeile 79 suche? Bitte poste nur relevante Codeteile!

Grundlagenkurs Arrays I:
Wenn man ein Array erzeugt, sind die Elemente mit dem Dafaultwert initialisiert. Bei Klassen (was JLabel nun mal ist) ist das null!
-> Du musst vor der Schleife (die übrigens auch mit einer for in der du bis zeilen*spalten zählt machbar wäre) die JLabels erstmal erzeugen.
Dann nimmst du ein Buch mit dem Titel „Java - Grundlagen“ und liest es.

PS: Bitte entschuldige meinen Sarkasmus…
Grüße, JasonDelife.

Hi,
doch, indirekt. Ich bekomme, wenn ich auf einen Index außerhalb des definierten Bereichs zugreife, ein NullPointerException, wenn es sich bei dem Array nicht um eine Standartklasse (String, int, double, float…) handelt. Wenn es sich um einer dieser Standardklassen handelt, bekomme ich eine ArrayIndexOutOfBoundException.

Vielen Dank für die Hilfe, ich dachte „new JLabel[(spalten)*(zeilen)]“ tuts auch schon.

Grtz
michi