Abfragen eines Textes aus einem JTextField in Java, Funktion, CardLayout,

NonStopNowa

Neues Mitglied
Hi,

ich schreibe seit einiger Zeit an einem Programm und habe mich in den letzten paar Tagen irgendwie total in einen Fehler reingerannt.

Ich schreibe erst den Programmcode rein und werde dann das Problem erläutern.
(ich arbeite mit Eclipse)


Java:
public class V_02_10 extends JFrame {

private String stringDateiInfo[] = new String[4];
private JFrame frmNB;
private CardLayout Cards;
private JPanel panelNeueDateiErstellen;
private JButton btWeiter;
private JTextField tfName;

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
V_02_10 frame = new V_02_10();

} catch (Exception e) {

e.printStackTrace();
}
}
});
}


private V_02_10() {
frmNB = new JFrame(); //hier erstell ich den Frame
frmNB.setSize(screenSize.width, screenSize.height);
frmNB.setExtendedState(JFrame.MAXIMIZED_BOTH);
frmNB.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frmNB.setResizable(false);
frmNB.getContentPane().setLayout(new BorderLayout(0, 0));

initializeNeueDateiErstellen(); //hier initiiere ich das erste Panel, habe die anderen weggelassen zum vereinfachen

frmNB.setVisible(true);
cards.show(cardPanel, "panelMenue");
}


public void initializeNeueDateiErstellen(){
cards = new CardLayout(); //hier wird ein CardLayout erstellt in dem die Panels aufgerufen werden
cardPanel = new JPanel(); //hier erstell ich dann das Panel und füg es 'cards' hinzu
frmNB.getContentPane().add(cardPanel, BorderLayout.CENTER);
cardPanel.setLayout(cards);

JPanel panelNeueDateiErstellen = new JPanel(); //hier erstell ich das Panel
cardPanel.add(panelNeueDateiErstellen, "panelNeueDateiErstellen");
panelNeueDateiErstellen.setLayout(null);

JTextField tfName = new JTextField(); //hier erstell ich das Jtextfield und definiere es
tfName.setDocument(createBuchstabenDocumentWithMaxLength(14));
tfName.setBorder(new LineBorder(new Color(0, 0, 0)));
tfName.setBounds((screenSize.width/2)+25, (screenSize.height/2)-60, 200, 60);
tframe.setFont(new Font("Arial", Font.PLAIN, 16));
tfName.setHorizontalAlignment(SwingConstants.CENTER);
panelNeueDateiErstellen.add(tfName);


JButton btWeiter = new JButton("Weiter"); //hier erstellt ich einen Button mit dem man ins nächste Fenster kommen würde
btWeiter.setBounds((screenSize.width/2)+125, (screenSize.height/2)+340, 140, 40);
btWeiter.setFont(new Font("Arial", Font.PLAIN, 15));
btWeiter.setHorizontalAlignment(SwingConstants.CENTER);
panelNeueDateiErstellen.add(btWeiter);
btWeiter.addActionListener(new ActionListener() {
if(true){//hier werden normaler weise Sachen abgefrage, zur Vereinfachung nur 'true'
DateiInfoInVariablen(); //hier ruf ich die Funktion auf
tfName.setText(null); //danach soll das Textfeld wieder leer werden
}
}
});
}


private void DateiInfoInVariablen(){
//die Funktion soll Texte aus verschiedenen Textfelder in
//Variablen abspeichern, ich habe jetzt hier mal nur eine reingetan
stringDateiInfo[0] = tfName.getText();
}



private Document createBuchstabenDocumentWithMaxLength(final int maxLength){
//durch die Funktion kann man nur Buchstaben und eine bestimmte Anzahl davon
//ins Textfeld reinschreiben
        Document doc = new PlainDocument(){
           @Override
           public void insertString(int offs, String str, AttributeSet a)
                 throws BadLocationException {
              if(getLength() + str.length() > maxLength)
                 return;
              if(!str.matches("\\p{Alpha}"))
                 return;
              super.insertString(offs, str, a);
           }
        };
        return doc;
     }
}


Wenn ich mein Programm starte, hängt es sich in der Funktion 'DateiInfoInVariabeln();' auf. Dabei geht es um das abrufen des Textes aus dem Jtextfield 'tfName'.

Es entsteht folgende Fehlermeldung in der Konsole:
Java:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
 at version_02.V_02_10.DateiInfoInVariablen(V_02_10.java:2253)
// die Zeile stimmt nicht mit oben überein,
// es ist die Zeile mit folgendem Code: 'stringDateiInfo[0] = tfName.getText();'


Ich weiß nicht wie ich den Fehler beheben kann. Hab schon viel probiert. Ich muss es aber mit einer Funktion machen, da es um mehrere Variablen geht und ich diese mehrmals abspeichern können muss. Die Funktion vereinfacht somit die Sache (wenn sie funktionieren würde).

Schon mal Danke

Nick
 

Phash

Top Contributor
Du erzeugst eine Variable private JTextField tfName;
Aber du initialisierst sie nie!
In der Methode
public void initializeNeueDateiErstellen() machst du:
JTextField tfName = new JTextField();
du erzeugst eine neue Variable, die den gleichen Namen hat, wie die Variable, die du oben deklariert hast. Du shadowst sie! Die Variable mit dem kleineren Scope - also Methodenscope - wird initialisiert, die Objekt-Scoped Variable aber nicht.
mach in der Funktion einfach JTextField weg: tfName = new JTextField();
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Datentypen Datentyp eines Werts in einer Textdateizeile abfragen und ändern Java Basics - Anfänger-Themen 4
B Abfragen eines Preises.. Java Basics - Anfänger-Themen 20
B Abfragen eines Excel-Feldes auf null Java Basics - Anfänger-Themen 17
A Existenz eines Files abfragen Java Basics - Anfänger-Themen 13
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
ven000m Bitcoin Blockhöhe abfragen Java Basics - Anfänger-Themen 12
S If abfragen (+, - , /, *) Java Basics - Anfänger-Themen 13
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
Phash Websocket abfragen Java Basics - Anfänger-Themen 1
volcanos List & ArrayList nach Familiennamen abfragen Java Basics - Anfänger-Themen 57
E schneller von der Datenbank abfragen Java Basics - Anfänger-Themen 15
M Checkbox abfragen und Radiobutton Group zurücksetzen Java Basics - Anfänger-Themen 1
L Datenpaare abfragen Java Basics - Anfänger-Themen 11
O ADT Graph nach größe Abfragen Java Basics - Anfänger-Themen 42
B Serial port abfragen Java Basics - Anfänger-Themen 18
F Ordner auf alle Unterdatein abfragen Java Basics - Anfänger-Themen 3
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
H Variablen Methode zum Abfragen von Variablen aus Subklassen Java Basics - Anfänger-Themen 9
T Erste Schritte Textfeld abfragen ob etwas enthalten ist. Java Basics - Anfänger-Themen 17
S Asynchrone Socket-Abfragen Java Basics - Anfänger-Themen 5
S mehrfache if-Abfragen - beste Lösung Java Basics - Anfänger-Themen 1
E Abfragen des SimpleDateFormats Java Basics - Anfänger-Themen 1
L int array abfragen Java Basics - Anfänger-Themen 16
T Variablen Var aus While-Schleife abfragen -.-' Java Basics - Anfänger-Themen 9
Y Mehrdimensionales Array diagonal abfragen. Java Basics - Anfänger-Themen 5
S Datenbank auf Knopfdruck abfragen Java Basics - Anfänger-Themen 8
T if abfragen verkürzen Java Basics - Anfänger-Themen 5
M Wo Hilfsvariablen abfragen? Java Basics - Anfänger-Themen 1
M Farben/Color Abfragen von Farben innerhalb einer Methode Java Basics - Anfänger-Themen 9
M "Exceptions abfragen" Java Basics - Anfänger-Themen 6
M Frage nach BestPractice in if-Abfragen Java Basics - Anfänger-Themen 1
P Anlegen und Abfragen von Array List Java Basics - Anfänger-Themen 4
R IF Abfragen Java Basics - Anfänger-Themen 8
R If Abfragen Problem! Java Basics - Anfänger-Themen 4
I Button abfragen ob er geklickt wurde Java Basics - Anfänger-Themen 4
C If Abfragen Problem Java Basics - Anfänger-Themen 46
I Drei booleans abfragen Java Basics - Anfänger-Themen 2
R Input/Output Java String abfragen Java Basics - Anfänger-Themen 3
A Vokabel abfragen Java Basics - Anfänger-Themen 3
N Best Practice Stilistische Anwendung von if/else-Abfragen Java Basics - Anfänger-Themen 7
E Checkboxen abfragen Java Basics - Anfänger-Themen 10
H if abfragen Java Basics - Anfänger-Themen 38
C TreeMap Abfragen Problem Java Basics - Anfänger-Themen 7
S Abfragen wenn das ende einer Tabelle erreicht ist Java Basics - Anfänger-Themen 8
B mehrere Abfragen zusammenfügen Java Basics - Anfänger-Themen 3
H durch Schleife 50 Variablen abfragen Java Basics - Anfänger-Themen 8
B If abfragen! Java Basics - Anfänger-Themen 9
J checkbox status abfragen und drucken Java Basics - Anfänger-Themen 13
M AWT Applet - Button aus anderer Klasse abfragen Java Basics - Anfänger-Themen 4
F Bedingungen mit Abfragen verknüpfen Java Basics - Anfänger-Themen 7
P länge von array abfragen? Java Basics - Anfänger-Themen 2
Gossi Input/Output Datei Lesen, inhalt abfragen, speichern Java Basics - Anfänger-Themen 5
T jNumberField auf null abfragen Java Basics - Anfänger-Themen 5
Z Erste Schritte LinkedList Werte abfragen und vergleichen Java Basics - Anfänger-Themen 3
S Input/Output Welche Möglichkeiten Eingabe von User abfragen Java Basics - Anfänger-Themen 5
H Checkboxstatus abfragen Java Basics - Anfänger-Themen 10
S unzulässigen Wert abfragen - aber wo Java Basics - Anfänger-Themen 3
eLogic Aktive Internetverbindung abfragen Java Basics - Anfänger-Themen 21
D Touchpad abfragen?! Java Basics - Anfänger-Themen 9
D Abfragen ob Excel-Dateien Makros enthalten? Java Basics - Anfänger-Themen 4
B GridLayout - elemente mit Maus abfragen Java Basics - Anfänger-Themen 3
B Daten in Instanz einer Klasse ändern / abfragen Java Basics - Anfänger-Themen 12
M Datentypen String mit Trennzeichen abfragen Java Basics - Anfänger-Themen 7
D GUI Checkboxen in allen Klassen abfragen? Java Basics - Anfänger-Themen 5
B OOP String auf bestimmte Zeichen abfragen Java Basics - Anfänger-Themen 4
M Double.NaN abfragen Java Basics - Anfänger-Themen 6
J Performance Vergleich von if-Abfragen mit mehreren Bedingungen Java Basics - Anfänger-Themen 9
H Objecttyp abfragen... Java Basics - Anfänger-Themen 11
N Zeilenanzahl einer TXT abfragen..? Java Basics - Anfänger-Themen 11
S Bremsen 3 IF-Abfragen ein Programm? Java Basics - Anfänger-Themen 7
T scanner bestimmtes format abfragen Java Basics - Anfänger-Themen 5
T JOptionPane mit .showInputDialog: Ergebnis abfragen? Java Basics - Anfänger-Themen 2
S Absatz aus Textdokument abfragen Java Basics - Anfänger-Themen 6
B gedrückte Tasten abfragen Java Basics - Anfänger-Themen 11
L "unschöne" if-Abfragen Java Basics - Anfänger-Themen 4
JFeel-x JComponent<-----Eigenschaften<-- Als Liste abfragen? Java Basics - Anfänger-Themen 8
P Pixelfarbe abfragen Java Basics - Anfänger-Themen 8
J einfache Tastendrücke in einem JFrame abfragen Java Basics - Anfänger-Themen 2
S if-Abfragen bringen mich zum VERZWEIFELN! Java Basics - Anfänger-Themen 12
B Aus JTable ImageIcon abfragen Java Basics - Anfänger-Themen 8
hdi Desktop-Auflösung abfragen -> setLocation() von Frame Java Basics - Anfänger-Themen 5
D jeditorpane checkbox abfragen? Java Basics - Anfänger-Themen 7
A Googel Lokal abfragen Java Basics - Anfänger-Themen 7
G in einem inputstream auf " " abfragen? Java Basics - Anfänger-Themen 3
T Rechner-Name abfragen Java Basics - Anfänger-Themen 6
N Event auf JTabbedPane abfragen ? Java Basics - Anfänger-Themen 8
M Maus position abfragen und setzen? Java Basics - Anfänger-Themen 1
L JTabel abfragen ob es eine erste Zeile gibt? Java Basics - Anfänger-Themen 2
G If Abfragen Java Basics - Anfänger-Themen 3
T Variablen Classübergreifen abfragen Java Basics - Anfänger-Themen 6
S Abfragen ob Label enabled ist . Java Basics - Anfänger-Themen 2
M Status von ext. Programm abfragen Java Basics - Anfänger-Themen 2
G [Applet] Mauskkoodinaten abfragen Java Basics - Anfänger-Themen 3
C String.split("") einzelne Positionen abfragen Java Basics - Anfänger-Themen 10
R Vector mit contains abfragen Java Basics - Anfänger-Themen 32
T String splitten und auf fehler abfragen Java Basics - Anfänger-Themen 3
V thread, variable abfragen Java Basics - Anfänger-Themen 14
F Abfragen aber wie ? Java Basics - Anfänger-Themen 7
G JDialog-Status im Frame abfragen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben