Parameter ändern in try/catch

Shao

Mitglied
Guten Morgen, ich verzweifle seit gestern an einem Fehler der immer dann auftritt wenn ich die Parameter einer JProgressBar bzw. eines JButtons in einem Try/catch block ändern möchte.
Fehler:
Java:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
   at MainFrame.verbindung(MainFrame.java:47)
   at MainFrame$2.actionPerformed(MainFrame.java:148)
   at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
   at javax.swing.AbstractButton$Handler.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 javax.swing.JComponent.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.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$500(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(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)


Java:
public class MainFrame {

    private JFrame frame;
    private JTextField dbip;
    private JTextField dbusername;
    private JPasswordField dbpassword;
    private JButton connect;
    private JProgressBar ladebalken;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    MainFrame window = new MainFrame();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public void verbindung() {
        try
        {
        Class.forName( "com.mysql.jdbc.Driver" ); 
        ladebalken.setValue(10);
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "admin");
        ladebalken.setValue(30);
        Statement stmt = con.createStatement();
        ladebalken.setValue(60);
        String am = "Select * from kunde"; 
        ladebalken.setValue(80);
        ResultSet rst = stmt.executeQuery(am);
        ladebalken.setValue(100);
        connect.setBackground(Color.GREEN);
        while (rst.next()) {

                        System.out.println(rst.getString("Vorname"));
        }
        rst.close();
        stmt.close();
        con.close();
        }
 
        catch ( ClassNotFoundException e)
        {
        System.out.println("Blöd, geht nicht")  ;                                    
        e.printStackTrace();
        }
 
        catch ( SQLException e)
        {
        System.out.println("SQL Fehler");
        e.printStackTrace();
        }
    }
 

Shao

Mitglied
Java:
        ladebalken.setValue(10);
und das in 148 ist nur der aufruf von verbindung

ganzer code:
Java:
import java.awt.EventQueue;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import java.io.*;
import java.sql.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.BevelBorder;




public class MainFrame {

    private JFrame frame;
    private JTextField dbip;
    private JTextField dbusername;
    private JPasswordField dbpassword;
    private JButton connect;
    private JProgressBar ladebalken;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    MainFrame window = new MainFrame();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public void verbindung() {
        try
        {
        Class.forName( "com.mysql.jdbc.Driver" );
        ladebalken.setValue(10);
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "admin");
        ladebalken.setValue(30);
        Statement stmt = con.createStatement();
        ladebalken.setValue(60);
        String am = "Select * from kunde";
        ladebalken.setValue(80);
        ResultSet rst = stmt.executeQuery(am);
        ladebalken.setValue(100);
        connect.setBackground(Color.GREEN);
        while (rst.next()) {

                        System.out.println(rst.getString("Vorname"));
        }
        rst.close();
        stmt.close();
        con.close();
        }
 
        catch ( ClassNotFoundException e)
        {
        System.out.println("Blöd, geht nicht")  ;                                   
        e.printStackTrace();
        }
 
        catch ( SQLException e)
        {
        System.out.println("SQL Fehler");
        e.printStackTrace();
        }
    }
    public MainFrame() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {

        frame = new JFrame();
        frame.setBounds(100, 100, 899, 553);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        SpringLayout springLayout = new SpringLayout();
        frame.getContentPane().setLayout(springLayout);
      
        dbip = new JTextField();
        springLayout.putConstraint(SpringLayout.NORTH, dbip, 10, SpringLayout.NORTH, frame.getContentPane());
        springLayout.putConstraint(SpringLayout.EAST, dbip, 150, SpringLayout.WEST, frame.getContentPane());
        dbip.setToolTipText("Datenbank (IP)");
        dbip.setHorizontalAlignment(SwingConstants.CENTER);
        springLayout.putConstraint(SpringLayout.WEST, dbip, 10, SpringLayout.WEST, frame.getContentPane());
        springLayout.putConstraint(SpringLayout.SOUTH, dbip, 30, SpringLayout.NORTH, frame.getContentPane());
        frame.getContentPane().add(dbip);
        dbip.setColumns(10);
      
        dbusername = new JTextField();
        springLayout.putConstraint(SpringLayout.WEST, dbusername, 10, SpringLayout.EAST, dbip);
        springLayout.putConstraint(SpringLayout.EAST, dbusername, 130, SpringLayout.EAST, dbip);
        dbusername.setHorizontalAlignment(SwingConstants.CENTER);
        springLayout.putConstraint(SpringLayout.NORTH, dbusername, 10, SpringLayout.NORTH, frame.getContentPane());
        frame.getContentPane().add(dbusername);
        dbusername.setColumns(10);
      
        dbpassword = new JPasswordField();
        springLayout.putConstraint(SpringLayout.NORTH, dbpassword, 10, SpringLayout.NORTH, frame.getContentPane());
        springLayout.putConstraint(SpringLayout.WEST, dbpassword, 10, SpringLayout.EAST, dbusername);
        springLayout.putConstraint(SpringLayout.EAST, dbpassword, 120, SpringLayout.EAST, dbusername);
        frame.getContentPane().add(dbpassword);
      
        JButton connect = new JButton("Verbinden");
        connect.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                int eingabe = 0;
                if (dbip.getText().length() > 0)
                {
                    eingabe = eingabe + 1;
                }
                else
                {
                    dbip.setBackground(Color.RED);
                };
                if (dbusername.getText().length() > 0)
                {
                    eingabe = eingabe + 1;
                }
                else
                {
                    dbusername.setBackground(Color.RED);
                };
                if (dbpassword.getPassword().length > 0)
                {
                    eingabe = eingabe + 1;
                }
                else
                {
                    dbpassword.setBackground(Color.RED);
                };
                if(eingabe == 3)
                {
                    verbindung();
                }

            }
        });
        springLayout.putConstraint(SpringLayout.WEST, connect, 8, SpringLayout.EAST, dbpassword);
        springLayout.putConstraint(SpringLayout.SOUTH, connect, 0, SpringLayout.SOUTH, dbip);
        frame.getContentPane().add(connect);
      
        JProgressBar ladebalken = new JProgressBar();
        springLayout.putConstraint(SpringLayout.NORTH, ladebalken, 0, SpringLayout.NORTH, dbip);
        springLayout.putConstraint(SpringLayout.WEST, ladebalken, 6, SpringLayout.EAST, connect);
        frame.getContentPane().add(ladebalken);
      
      
      
    }
}

ich sehe grade der knopf connect muss noch in verbindung umbenannt werden, was leider am fehler nix ändert
 

Robat

Top Contributor
Schau mal in die Zeile wo du die JProgressbar initialisiert. Du erstellst lokal eine Variable anstatt deine Instanzvariable zu initialisieren.
 

Shao

Mitglied
so endlich wieder am Rechner. ich hab mal versucht zu finden was du meinst aber leider nichts gefunden, was genau meinst du ?

EDIT: so ich habe vor connect und ladebalken die Objekttypen (Jbutton, jprogres) wegenommen und es klappt wie gewollt :)
Nur kannst du mir erklären warum genau das so ist ? das ich es fürs nächste mal verstehe :)
Und danke natürlich
 
Zuletzt bearbeitet:

Robat

Top Contributor
Naja wenn du folgendes Konstrukt hast :
Java:
public class Foo{
    private JButton btn;
    public Foo() {
        JButton btn = new JButton() ;
    }
}
Dann erstellst du ja lokal im Konstruktor einen JButton. Den JButton der im gesamten Klassenscope sichtbar ist fässt du ja nie an, d. h. er bleibt null.
In den anderen Methoden greifst du aber auf den JButton zu der Null ist.
Wenn du im Konstruktor das JButton weg nimmst erstellst du keine neue Variable sondern initialisierst die bereits vorhandene.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java Datei durch CMD mit Parameter ausführen AWT, Swing, JavaFX & SWT 1
D JavaFX Ein Parameter von einem Stage(GUI) zu einem anderen übergeben AWT, Swing, JavaFX & SWT 6
A Swing JLabel als Parameter übergeben AWT, Swing, JavaFX & SWT 9
S JTextField parameter unveränderlich AWT, Swing, JavaFX & SWT 9
D JavaFX Interface Initializable - Was machen die Parameter in der Methode inizializeable() ? AWT, Swing, JavaFX & SWT 4
M JavaFX Parameter für Custom Control in FXML übergeben? AWT, Swing, JavaFX & SWT 4
A Swing Parameter werden bei Funktionsaufruf nicht ausgegeben AWT, Swing, JavaFX & SWT 2
M Swing Jtable CellRenderer Parameter uebergeben AWT, Swing, JavaFX & SWT 4
B Java-Applet Parameter übergabe? AWT, Swing, JavaFX & SWT 2
M Swing JButton-Konstruktor Icon-Parameter (Verständnisfrage) AWT, Swing, JavaFX & SWT 7
Furtano AWT setRGB() RGB-Parameter umwandeln? AWT, Swing, JavaFX & SWT 10
W SWT Übergabe Parameter wie in SWT mit "|" AWT, Swing, JavaFX & SWT 5
B Anonymer Klass Parameter übergeben AWT, Swing, JavaFX & SWT 3
A Beschreibung Parameter FormLayout AWT, Swing, JavaFX & SWT 8
V Parameter an Runnable-Objekt übergeben AWT, Swing, JavaFX & SWT 6
M Checkboxen Namen setzten über Parameter => Abfragen? AWT, Swing, JavaFX & SWT 2
N JTable als parameter übergeben AWT, Swing, JavaFX & SWT 4
martinyyyy AWT Parameter erzeugen NullpointerException obwohl sie vorhanden sind? AWT, Swing, JavaFX & SWT 4
Semox Setzen des Layout Managers mittels Override Parameter AWT, Swing, JavaFX & SWT 10
Daniel_L Swing-Komponenten als Parameter an eine Klasse übergeben? AWT, Swing, JavaFX & SWT 4
C Parameter von GUI an Klasse übergeben. AWT, Swing, JavaFX & SWT 2
C Parameter übergeben in Eclipse AWT, Swing, JavaFX & SWT 3
F MouseMotionListener und Parameter? AWT, Swing, JavaFX & SWT 4
F Wie gebe ich Parameter zwischen Actions weiter? AWT, Swing, JavaFX & SWT 2
F Parameter aus HTML-Form in Java-App per Post an PHP Script s AWT, Swing, JavaFX & SWT 2
M Parameter übergeben AWT, Swing, JavaFX & SWT 13
L Wie Layout-Parameter ohne add angeben? AWT, Swing, JavaFX & SWT 2
H Swing Componente zur Läufzeit ändern AWT, Swing, JavaFX & SWT 3
H JDialog in Größe ändern - Resize-Cursor bleibt betreten der Komponente AWT, Swing, JavaFX & SWT 1
H AWT Dialog Größe ändern - Schwarzer Inhalt beim groß ziehen AWT, Swing, JavaFX & SWT 1
_user_q ChoiceBox Elemente: Sprache ändern AWT, Swing, JavaFX & SWT 7
raeuchertofu Text von JTextfield und JLabel ändern AWT, Swing, JavaFX & SWT 2
B Deckraft ändern AWT, Swing, JavaFX & SWT 1
Davee JavaFX ListView = null wenn ich sie in Laufzeit ändern will! AWT, Swing, JavaFX & SWT 16
missy72 JavaFX RowFactory Schriftfarbe ändern AWT, Swing, JavaFX & SWT 6
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
Hatsi09 GUI Input Farbe ändern AWT, Swing, JavaFX & SWT 0
W JavaFX CSS ändern wirft NPE AWT, Swing, JavaFX & SWT 8
E Keystroke für Ausschneiden läßt sich nicht ändern AWT, Swing, JavaFX & SWT 2
L Swing Button Farbe ändern/wechseln AWT, Swing, JavaFX & SWT 2
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 14
L Swing JLabel wird beim ändern der Schriftart immer neu gezeichnet. AWT, Swing, JavaFX & SWT 2
R Swing JTextField - Schriftgröße je nach Länge und Größe ändern AWT, Swing, JavaFX & SWT 0
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
S Swing JLabel Text mit der Zeit ändern AWT, Swing, JavaFX & SWT 1
S JavaFX ListView Inhalte während Laufzeit ändern AWT, Swing, JavaFX & SWT 23
Shallty JavaFX MenuItem (Info) Icon ändern AWT, Swing, JavaFX & SWT 7
J Schriftart über einen Button ändern AWT, Swing, JavaFX & SWT 1
J JButton zum ändern Der Schriftart/Schriftgröße AWT, Swing, JavaFX & SWT 2
C Bilder so einbinden, dass sie sich ändern AWT, Swing, JavaFX & SWT 6
S JavaFX Boolean ändern Table View AWT, Swing, JavaFX & SWT 14
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
L JavaFX TableView kein content text ändern AWT, Swing, JavaFX & SWT 2
I Java Bildfarbe ändern wie bei Photoshop AWT, Swing, JavaFX & SWT 9
cool_brivk24 Swing Button Farbe ändern AWT, Swing, JavaFX & SWT 2
B Observer Pattern JLabel ändern AWT, Swing, JavaFX & SWT 7
K JavaFX TextInputDialog Button Text ändern AWT, Swing, JavaFX & SWT 1
Tronert JavaFX Linienstärke eines Separators ändern? AWT, Swing, JavaFX & SWT 3
das_leon AWT Button Design ändern AWT, Swing, JavaFX & SWT 5
S JavaFX GridPane Zellen Seitenverhätnis passend ändern mit der Stage AWT, Swing, JavaFX & SWT 0
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1
G JavaFX TableView Wert in Spalte ändern AWT, Swing, JavaFX & SWT 0
C JavaFX Inhalt eines SplitPane's durch Menü-Auswahl ändern? AWT, Swing, JavaFX & SWT 13
DaCrazyJavaExpert Swing Größe des JPanel ändern/wird nicht geändert. AWT, Swing, JavaFX & SWT 3
L JavaFX button über andere Klasse ändern AWT, Swing, JavaFX & SWT 7
T JavaFX Text des ProgressIndicators ändern AWT, Swing, JavaFX & SWT 2
T JavaFx Examples ändern liefert unerwartetes Ergebnis AWT, Swing, JavaFX & SWT 5
Z Swing JTree DefaultMultipleTreeNode Repräsentation ändern AWT, Swing, JavaFX & SWT 1
MaxG. Swing Farbe von Button beim drücken ändern AWT, Swing, JavaFX & SWT 4
MaxG. JFrame Größe ändern AWT, Swing, JavaFX & SWT 16
K Liniendicke für Line Chart dynamisch ändern AWT, Swing, JavaFX & SWT 0
K Sprache ändern AWT, Swing, JavaFX & SWT 11
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
S JavaFX fxml datein mit menübar ändern AWT, Swing, JavaFX & SWT 20
W Kodierung (CharSet) beim Schreiben ändern AWT, Swing, JavaFX & SWT 1
Neumi5694 LookAndFeel Look & Feel nicht angezeigter Komponenten ändern AWT, Swing, JavaFX & SWT 6
T AWT Farben in einem Bild ändern AWT, Swing, JavaFX & SWT 8
N JLabel ändern während Programm ausgeführt wird AWT, Swing, JavaFX & SWT 4
krgewb Swing JTree - Farbe von nodes ändern AWT, Swing, JavaFX & SWT 4
D Swing JScrollPane Tabelle ändern (2 Tabellen) AWT, Swing, JavaFX & SWT 7
Sugan Inhalte mit Threads ändern -> java.lang.IllegalStateException AWT, Swing, JavaFX & SWT 6
X JMenu Menu-Bar ausrichtung ändern im Programm AWT, Swing, JavaFX & SWT 0
D JavaFX Probleme bei Service-Klasse beim ändern der GUI AWT, Swing, JavaFX & SWT 8
P im JTable die Schriftfarbe ändern AWT, Swing, JavaFX & SWT 19
F GUI Auflösung ändern - Koordianten und Proportions Problem AWT, Swing, JavaFX & SWT 21
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
R LookAndFeel Wie kann man die Textfarbe der Nimbus ProgressBar nach Füllstand ändern? AWT, Swing, JavaFX & SWT 2
J JavaFX Bestimmte Zellen im TableView ändern (Farbe und Text) AWT, Swing, JavaFX & SWT 1
J JTable bounds ändern durch resizing des Fensters AWT, Swing, JavaFX & SWT 9
F JTable Zellen-Hintergrund ändern AWT, Swing, JavaFX & SWT 7
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
P Fenstergröße ändern, Panel soll gleich bleiben AWT, Swing, JavaFX & SWT 2
S JavaFX NullPointerException bei Versuch ImageView zu ändern AWT, Swing, JavaFX & SWT 1
F JavaFX Timeline Animation soll X- und Y-Position während Animation ändern AWT, Swing, JavaFX & SWT 2
E JLabel aus Runnable ändern AWT, Swing, JavaFX & SWT 2
Tom299 JavaFX TreeView Expanded-Icon ändern AWT, Swing, JavaFX & SWT 0
M JavaFX Progressbar bar und track Komponente zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben