Hallo, ich habe 2 klassen einmal meine Klasse Grafik die meine GUI beinhaltet und einmal meine Klasse Methode die in der ein DOM Parser enthalten ist der von der ActionPerformet methode aufgerufen wird, nun habe ich den ganzen Spaß gecoded und er schmeißt mit einmal in Zeile 26 in der Klasse Methode ne Nullpointer exception raus und einmal in der Klasse Grafik in Zeile 51 das selbe, was hab ich falsch gemacht ?
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
class Grafik {
DefaultTableModel tabModel;
JTable table;
public static JTextField tf;
public static void main(String[] args) {
Grafik t = new Grafik();
}
static String A;
static String B;
static String C;
static String D;
static String E;
public Grafik() {
String[] columnNames = {"Linie", "Ziel", "Platz", "HF", "Zeit"};
Object[][] data = {
{ A, B, C, D, E },
};
tabModel = new DefaultTableModel(data, columnNames);
table = new JTable(tabModel);
JScrollPane scrollPane = new JScrollPane(table);
JPanel buttonPanel = new JPanel();
JTextField tf = new JTextField("Haltestelle eingeben");
JButton button = new JButton("Suche");
buttonPanel.add(tf);
buttonPanel.add(button);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
Methode.lesen();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
JPanel mainPanel = new JPanel();
JFrame frame = new JFrame("Titel");
mainPanel.setLayout(new BorderLayout());
mainPanel.add(scrollPane, "Center");
mainPanel.add(buttonPanel, "South");
frame.getContentPane().add(mainPanel);
frame.pack();
frame.setVisible(true);
}
//Getter
public JTextField tf(){
return tf();
}
public String A(){
return A();
}
public String B(){
return B();
}
public String C(){
return C();
}
public String D(){
return D();
}
public String E(){
return E();
}
}
Java:
import java.io.*;
import java.net.URL;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Methode {
/**
* @param string
*/
public static void lesen() throws Exception {
//DOM Parser der die XML daten der links ausließt
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(new URL("xy.php")
.openStream());
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Abfahrt");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
Grafik.A = getTagValue("Linie", eElement);
Grafik.B = getTagValue("Ziel", eElement);
Grafik.C = getTagValue("Platz", eElement);
Grafik.D = getTagValue("Zeit", eElement);
Grafik.E = getTagValue("HF", eElement);
}
}
}
public static String getTagValue(String sTag, Element eElement) {
NodeList nlList = eElement.getElementsByTagName(sTag).item(0).getChildNodes();
Node nValue = (Node) nlList.item(0);
return nValue.getNodeValue();
}
}
Zuletzt bearbeitet von einem Moderator: