ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
763
763
EMPFEHLEN
-
Hallo zusammen
Habe seit kurzem mit Java angefangen. Nun wollte ich eine GUI schreiben die sich mit einer MySQL Datenbank verbindet. Soweit eigentlich kein Problem, jedoch sobald ich mich verbinden will bekomme ich die Fehlermeldung NullPointerException
. Könnte mir jemand helfen und mir mitteilen wo mein Fehler liegt?
Mein Programm besteht aus 3 Klassen:
main - Klasse
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
import javax.swing.*; public class SalRosso implements Runnable{ private Frame p_window; public static void main( String[] args ) { SwingUtilities.invokeLater(new SalRosso()); } public void run() { this.p_window = new Frame(); p_window.build(); } }
DB connector Klasse
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
import java.sql.*; public class Connector { private Frame p_frame; private Connection con; public Connector(Frame p_frame) { this.p_frame = p_frame; } public void connect() { try { if(!(p_frame.database().equals(""))) { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost/" + p_frame.database(), p_frame.username(), p_frame.password()); p_frame.info(); } else { p_frame.dbWrong(); } } catch (Exception ex) { p_frame.conTrouble(); } } public void disconnect() { try { con.close(); } catch (Exception ex) { p_frame.dbNoDisc(); } } }
Frame Klasse
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.SQLException; public class Frame { private Connector p_conn; private JTabbedPane tab = new JTabbedPane(); private JPanel mainPanel = new JPanel(); private JButton connect = new JButton("Connect"); private JButton close = new JButton("Close"); private JTextField uname = new JTextField(); private JTextField db = new JTextField(); private JPasswordField pw = new JPasswordField(); public void build() { JFrame.setDefaultLookAndFeelDecorated(true); JFrame window = new JFrame("DB Tool"); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JMenuBar menuBar = new JMenuBar(); menuBar.add(new JMenu("File")).add(new JMenuItem("Close")); window.setJMenuBar(menuBar); Container pane = window.getContentPane(); pane.add(tab); mainPanel.setLayout( new GridLayout(4,2)); ((JComponent) mainPanel).setBorder(BorderFactory.createEmptyBorder(30,30,30,30)); mainPanel.add(new JLabel("Database: ")); mainPanel.add(db); mainPanel.add(new JLabel("Username: ")); mainPanel.add(uname); mainPanel.add(new JLabel("Password: ")); mainPanel.add(pw); mainPanel.add(connect); mainPanel.add(close); tab.addTab("Connection", mainPanel); window.pack(); window.setVisible(true); connect.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { p_conn.connect(); } }); close.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); } /* * Messages */ public void dbWrong() { JOptionPane.showMessageDialog(null, "Please enter a valid database name"); } public void conTrouble() { JOptionPane.showMessageDialog(null, "Please check your data"); } public void info() { JOptionPane.showMessageDialog(null, "You are connected with \"" + database() + "\" as user \"" + username() + "\""); } public void dbNoDisc() { JOptionPane.showMessageDialog(null, "Cannot close connection to database"); } /* * get Strings */ public String database() { return db.getText().toString(); } public String username() { return uname.getText().toString(); } public String password() { return pw.getText().toString(); } }
Besten Dank für Eure hilfe.
Gruss
Savvo
-
30.12.04 13:37 #2
- Registriert seit
- Mar 2001
- Ort
- München
- Beiträge
- 4.785
Wenn du uns eine aussagekräftige Fehlermeldung bringst können wir dir helfen.
Eine Zeilennummer wäre z.b recht hilfreich dann müssten wir nicht den ganzen code auf eventuelle NullPointer abchecken.Erst wenn der letzte Programmierer eingesperrt...
...und die letzte Idee patentiert ist, werdet ihr merken, dass Anwälte nicht programmieren können.
-------------------
chris: hey Tom hast du eigentlich ne Freundin
jdar: ich bin tutorials.de Mod!
-
Hallo, sorry hab gar nicht daran gedacht. Hier ist die Meldung, danke.
java.lang.NullPointerException
at Frame$1.actionPerformed(Frame.java:60)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
-
Hallo, hab den Fehler gefunden, war eigentlich ganz einfach. In der Klasse Frame fehlte folgender Eintrag:
War ja doch nicht so schlimmCode :1
private Connector p_conn = new Connector(this);
Sorry für solche Themen und besten Dank für die gebotene Hilfe.
Grüsse und frohes neues Jahr.
Savvo
Ähnliche Themen
-
NullPointerException?
Von Maik20 im Forum JavaAntworten: 1Letzter Beitrag: 08.12.08, 23:06 -
NullPointerException
Von Teufelslama im Forum JavaAntworten: 2Letzter Beitrag: 18.06.08, 23:44 -
NullPointerException
Von dadon511 im Forum JavaAntworten: 2Letzter Beitrag: 05.04.07, 19:16 -
NullPointerException
Von dadon511 im Forum JavaAntworten: 8Letzter Beitrag: 02.04.07, 08:46 -
NullPointerException... wo? :(
Von target im Forum JavaAntworten: 2Letzter Beitrag: 30.05.05, 17:19





Zitieren
Login





