Zugriff auf ein Textfield

Status
Nicht offen für weitere Antworten.

java-robotik

Mitglied
Hallo,


ich habe eine
Code:
class JDemo
in der ich ein JFrame erstelle, der Konstruktor dafür ist die Klasse
Code:
class PanelDemo
(dies habe ich
Code:
 frame.getContentPane().add(new PanelDemo() );
so gemacht. )

In der Klasse PanelDemo füge ich dann meine Buttons, Labels, Textfelder etc. zum Frame hinzu, und "verlinke" die Buttons mit dem Actionlistener.
Dann habe ich noch eine eigenständige Klasse
Code:
class getGradzal
, in der ich eine Zahl aus einem TextField auslesen möchte.

Code:
class getGradzahl {
    int xR = gdr.getText();
    int xL = gdl.getText();
    }
Wobei gdr und gdl die TextFields sind.

Nun ist das Problem, dass die Klasse getGradzahl die Textfelder nicht kennt, d.h. sie kann nicht drauf zugreifen und der compilier wirft die Fehler Meldung "cannot find symbol" aus. Wie kann ich die Klasse getGradzahl nun mit den Komponenten aus PanelDemo bekannt machen??

vielen Dank für eure hilfe.
 

virgie82

Mitglied
tjoa, die klasse wo die textfelder sind, da machst du 2 public getter methoden hin...


Code:
public String getTextFromTextBox()
{
return jTextBox1.getText();
}

in der anderen klasse, wo du die werte brauchst, wirst du ja wahrscheinlich irgendwo die klasse mit den textboxen erzeugt haben bzw. ne referenz auf diese klasse haben...
also in der klasse wo du die wrte brauchst...


Code:
String wert1 = dieTextBoxKlasse.getTextFromTextBox();

p.s. tipp: greife niemals klassenübergreifend auf einzelne objekte oder variablen diret zu, regele das immer über public getter methoden public getIrgendwas(), gleichzeitig die objekte und variablen immer auf private (außer es geht nicht anders), so verhnderst du, dass du ausversehen aus einer anderen klasse raus die objekte oder variablen veränderst. willst du das aber machen, erzeuge im gegenzug setter methoden public setIrgendwas(String wert)
 

java-robotik

Mitglied
Code:
import java.awt.* ;
import java.awt.Component.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JMenu;
import javax.swing.JMenuItem; 

public class JDemo
{
   public static void main( String args[] )
   {
    JFrame frame = new JFrame();
    
    WindowListener wl = new WindowAdapter() {
      public void windowClosing( WindowEvent e)
      {
        System.exit(0);
      }
    };

    frame.addWindowListener(wl);
    
    frame.getContentPane().add(new PanelDemo() );
    frame.pack();
    frame.setSize(500,500);
    frame.setLocation(0,0);
    frame.setTitle("Roboter Steuerung (c) by Mark W.");
    frame.show();
   }
}

//Initialiesiert (übernimmt) die Werte für die Grad angaben
class getGradzahl {
    int xR = gdr.getText();
    int xL = gdl.getText();
    }

/* ******************************* Ereignisbehandlungs Methoden ********************** */

/* ******************************* drehe Rechts ************************************** */
class turnRight implements ActionListener {
  public void actionPerformed(ActionEvent e) {
     //Ereignis Behandlungscode vom Menu Item "Beenden"  
      drechts test2 = new drechts();
      }
}

class drechts  {
  public static void main(String[] argv) throws InterruptedException{
      getGradzahl();
      IndustryRobot Robby = new IndustryRobot();
      Robby.dreheRechts(xR); 
      }
}

/* ******************************* drehe Links ************************************** */
class turnLeft implements ActionListener {
  public void actionPerformed(ActionEvent e) {
     //Ereignis Behandlungscode vom Menu Item "Beenden"  
      dlinks test3 = new dlinks();
      }
}

class dlinks  {
  public static void main(String[] argv) throws InterruptedException{
      getGradzahl(); 
      IndustryRobot Robby1 = new IndustryRobot();
      Robby.dreheLinks(xL); 
      }
}

/* ******************************* Programm schließen ********************************** */
class closeProg implements ActionListener {
  public void actionPerformed(ActionEvent e) {
    //Ereignis Behandlungscode vom Menu Item "Beenden"  
      System.exit(0);
    }
}

/* ******************************* MoveToStartPos *************************************** */    
class RobotMoveToStart implements ActionListener  {
  public void actionPerformed(ActionEvent e) {  
    //Ereignis Behandlungscode vom Menu Item "Beenden"  
   Home test = new Home();
    }
}

class Home {
  public static void main(String[] argv) throws InterruptedException{
      IndustryRobot Robby = new IndustryRobot();
      Robby.moveToStartPosition(); 
      }
}


/* *************************************** "füllen" des Frames ************************** */
class PanelDemo extends JPanel
{ public PanelDemo()
   { // Konstruktor
    
    //JButton erstellen
    JButton bdrechts = new JButton("DreheRechts");
    JButton bdlinks = new JButton("DreheLinks");
    JButton brobbo = new JButton("MoveRobotToStartPos");
    // Button beim Listener Anmelden
    bdrechts.addActionListener(new turnRight());
    bdlinks.addActionListener(new turnLeft());
    brobbo.addActionListener(new RobotMoveToStart());
    //JButton hinzufügen
    add(bdrechts);
    add(brobbo);
    add(bdlinks);
            
    //Labels erstellen
    Label labeldr = new Label("Gradzahl dreheRechts (1 - 180°)");
    Label labeldl = new Label("Gradzahl dreheLinks (1 - 180°)");
    //Labels hinzufügen
    add(labeldr);
    add(labeldl);
    
    //JTextFields erstellen
    JTextField gdr = new JTextField("Zahl eingeben");
    JTextField gdl = new JTextField("Zahl eingeben");
    //JTextFields hinzufügen
    add(gdr);
    add(gdl);

        /* ************************************* Menü *************************************** */   
    //JMenuBar erstellen
    JMenuBar menuLeiste = new JMenuBar();
    //JMenus erstellen
    JMenu menuDatei = new JMenu("Datei");
    JMenu menuExtras = new JMenu("Extras");
    JMenu menuHilfe = new JMenu("Hilfe");    
    
    //Menü Datei
    JMenuItem itemOeffnen = new JMenuItem("Datei öffnen", new ImageIcon("open.gif"));
    JMenuItem itemSpeichern = new JMenuItem("Datei speichern", new ImageIcon("save.gif"));
    JMenuItem itemBeenden = new JMenuItem("Programm beenden");
    //MenuItems zum JMenu (menuDatei) hinzufügen
    menuDatei.add(itemOeffnen);
    menuDatei.add(itemSpeichern);
    menuDatei.addSeparator();
    menuDatei.add(itemBeenden);
    // itemBeenden beim Listener anmelden
    itemBeenden.addActionListener(new closeProg());
    
    //Menü Extras
    JMenuItem itemEinstellungen = new JMenuItem("Einstellungen");
    //MenuItems zum JMenu (menuExtras) hinzufügen
    menuExtras.add(itemEinstellungen);
    menuExtras.addSeparator();
    
    //Untermenü Hilfe
    JMenuItem itemProgInfo = new JMenuItem("Programm Informationen");
    JMenuItem itemHilfe = new JMenuItem("Hilfe");
    // MenuItems zum JMenu (menuHilfe) hinzufügen
    menuHilfe.add(itemProgInfo);
    menuHilfe.add(itemHilfe);
    
    // JMenu (menuHilfe) zum JMenu menuExtras hinzufügen
    menuExtras.add(menuHilfe);
    
    //JMenus zur JMenuBar (menuLeiste) hinzufügen
    menuLeiste.add(menuDatei);
    menuLeiste.add(menuExtras);
    
   //JMenuBar (menuLeiste) zum frame hinzufügen
    add(menuLeiste);
    //setJMenuBar(menuLeiste);   // Befehl funktioniert nicht, deswegen add(menuLeiste);
   }
}

So, das ist mein kompletter Code. Hab verstanden wie du das meinst, werd es direkt mal ausprobieren. Danke
 

Stefan1200

Top Contributor
Das machst du hiermit:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Integer.html#parseInt(java.lang.String)
 

virgie82

Mitglied
also erst mal: mach mal aus deinen 1000 klassen 1 oder 2! dafür gibs methoden void(), du brauchst nicht für jeden sachverhalt ne eigene klasse...weiterhin hast du in deiner klasse JDemo folgendes stehen

Code:
frame.getContentPane().add(new PanelDemo() );

ändere das zu:

Code:
PanelDemo panelDemo = new PanelDemo();
frame.getContentPane().add(panelDemo);

jetzt jannst du nämlich erst auf deine textboxen in der panelDemo klasse zugreifen...

Code:
String wert1 = panelDemo.getTextFromTextBox1();

ich nehme einmal an, dass du inzwischen so eine funktion in panelDemo hast....

umwandeln den wert in ein int:

Code:
try{

int zahl1 = Integer.parseInt(wert1);
}catch (NumberFormatException e)
{
// tjoa, das war wohl keine zahl
}

dann müste das eigentlich klappen

gruß
 

java-robotik

Mitglied
Obwohl es eigentlich ja nicht sein kann funktioniert das immer noch nicht

Hab das jetzt so

Code:
class PanelDemo extends JPanel
{ public PanelDemo()
   { // Konstruktor
     .......
}

public String getTextFromGdr()    {
        return .gdr.getText();
    }

}

und der sagt immer noch cannot find symbol - variable gdr wenn ich das compliieren will

*verzweifel?!*
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
LucasGlockner Effizienter byte-Zugriff auf ein long[]-Array Allgemeine Java-Themen 8
W Klassen Zugriff auf ein Textfile aus allen Klassen. Allgemeine Java-Themen 2
izoards Zugriff auf gemeinsame Ressource (CSV-File) Allgemeine Java-Themen 3
S Java Zugriff auf Netzwerklaufwerk Allgemeine Java-Themen 1
sascha-sphw Java 9 module Zugriff auf eine resource einer anderen JAR Allgemeine Java-Themen 0
KeexZDeveoper Zugriff auf Methoden vom Server Allgemeine Java-Themen 7
O Zugriff auf mySQL ohne JDBC Allgemeine Java-Themen 3
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
B Maven Zugriff auf files aus einem kompilierten jar Allgemeine Java-Themen 15
S Zugriff auf jUnit Test Suite Runner-Instanzen innerhalb von Test Classes Allgemeine Java-Themen 7
W Zugriff auf Objektvariablen vs. Übergabe Allgemeine Java-Themen 3
J Zugriff auf erstellte Objekte einer Klasse von einer Klasse ausserhalb Allgemeine Java-Themen 3
Tommy Nightmare HTTP Zugriff auf Internetseite im Loginbereich Allgemeine Java-Themen 5
H Zugriff auf PHP Allgemeine Java-Themen 4
B DB-Zugriff einer Webanwendung funktioniert nicht mit Java 7 Allgemeine Java-Themen 2
M WebService - Zugriff auf Webservice Methode über Browser Allgemeine Java-Themen 1
O JNA Zugriff auf Funktion aus DLL Allgemeine Java-Themen 0
O Zugriff auf Windows Zertifikatstore Allgemeine Java-Themen 2
M Kein Zugriff auf microSD Karten Allgemeine Java-Themen 4
T Zugriff auf Datenbank Allgemeine Java-Themen 1
J Zugriff auf IMAP GMail Konto scheitert. Allgemeine Java-Themen 2
P Frontend- Zugriff auf WS- Backend Allgemeine Java-Themen 0
U Zugriff auf Datei sperren Allgemeine Java-Themen 5
N Best Practice Semi-Synchronized Zugriff Allgemeine Java-Themen 0
C Zugriff auf Event felder Allgemeine Java-Themen 0
M Threads synchroner Zugriff (add/delete/read) auf eine Liste Allgemeine Java-Themen 6
F Zugriff Verweigert bei Kopieroperation? Allgemeine Java-Themen 4
T JNI: kein Zugriff auf VM in Callback-Methode eines Windows-Hooks Allgemeine Java-Themen 3
S Dynamischer Zugriff Allgemeine Java-Themen 4
Minonos Einem Programm Zugriff auf bestimmte Ordner geben Allgemeine Java-Themen 5
E Zugriff auf Dateien im Filesystem überwachen Allgemeine Java-Themen 5
H Programierstil: static - Zugriff vs. Staticzugriff Allgemeine Java-Themen 24
V Zugriff auf den Objekterzeuger? Allgemeine Java-Themen 4
M Zugriff zweier Threads auf diesselbe Methode Allgemeine Java-Themen 16
B Zugriff auf eine HashMap Allgemeine Java-Themen 4
B JApplet Zugriff auf Local Storage des Browser? Allgemeine Java-Themen 2
D Zugriff auf Array-Liste Allgemeine Java-Themen 19
M gleichzeitiger Zugriff auf eine Textdatei Allgemeine Java-Themen 6
D Eclipse Kein Zugriff auf Inhalt einer referenzierten .jar Allgemeine Java-Themen 5
B synchronisierter zugriff auf Objekt Allgemeine Java-Themen 6
nutellastulle Zugriff, Übergabe, Bearbeitung und Ausgabe von Jlist Allgemeine Java-Themen 6
U Große Liste von Strings mit indiziertem Zugriff Allgemeine Java-Themen 31
J XML Element Zugriff Allgemeine Java-Themen 4
P Daten kopieren mit nio - Zugriff verweigert Allgemeine Java-Themen 8
M Klassen Zugriff auf getMethode ohne Klasse zu erzeugen Allgemeine Java-Themen 6
A Input/Output Applet-Zugriff auf PHP-Schnittstelle (externer Server) Allgemeine Java-Themen 22
H Vererbung Abgeleitete Klassen und Zugriff Allgemeine Java-Themen 2
C Probleme mit dem Zugriff auf private Methode per reflection Allgemeine Java-Themen 2
J Zugriff auf Poker-Client Fenster Allgemeine Java-Themen 14
C Zugriff auf private Methode per reflection geht nicht mehr Allgemeine Java-Themen 3
S Zugriff auf innere Klasse Allgemeine Java-Themen 3
D Kein Zugriff auf WebService ausser localhost Allgemeine Java-Themen 4
Sonecc Zugriff auf Class File einer anderen Jar während der Laufzeit Allgemeine Java-Themen 2
J Zugriff auf Dateien auf einem shared Folder? Allgemeine Java-Themen 3
H Zugriff auf VBA in Java Allgemeine Java-Themen 2
Haave Audio Device Unavailable: Kein gleichzeitiger Zugriff auf Soundsystem möglich Allgemeine Java-Themen 7
G Letzter Zugriff auf Datei Allgemeine Java-Themen 5
C java.io.FileNotFoundException: (Zugriff verweigert) Allgemeine Java-Themen 14
O Zugriff auf Serielle Schnittstelle - Keine Ports gefunden. Allgemeine Java-Themen 8
C Webstart: Zugriff auf lokale Dateien? Allgemeine Java-Themen 2
X Zugriff auf ComboBoxen in Hauptklasse von zweiter Klasse aus Allgemeine Java-Themen 8
J Zugriff auf gemeinsame Funktionen Allgemeine Java-Themen 4
Airwolf89 Zugriff auf ArrayList<ArrayList> Allgemeine Java-Themen 3
Airwolf89 Zugriff auf Werte in ArrayList<ArrayList> Allgemeine Java-Themen 4
T Zugriff zwischen Klassen für repaint Allgemeine Java-Themen 7
N Zugriff auf eine Referenzvar. Allgemeine Java-Themen 3
S Zugriff auf Klasse Allgemeine Java-Themen 4
Meldanor Mehrdimensionale Arrays : Zugriff auf n-tes Array Allgemeine Java-Themen 5
E JNA:Zugriff auf Common-Block von Fortran bzw. Struct in C Allgemeine Java-Themen 2
T Zugriff auf Singleton verkürzen - Namespaces?? Allgemeine Java-Themen 20
L Zugriff auf ein Objekt mit mehreren Threads Allgemeine Java-Themen 11
Airwolf89 dynamischer Zugriff auf Variablen/ Objekte Allgemeine Java-Themen 4
S Zugriff auf einzelne Bildpunkte Allgemeine Java-Themen 3
D Referenzen weiterreichen vs. statischer Zugriff Allgemeine Java-Themen 3
V Zugriff auf Default-Package? Allgemeine Java-Themen 6
P RegeEx-Problem: Zugriff auf group Allgemeine Java-Themen 2
M Zugriff auf Parallel-Schnittstelle Allgemeine Java-Themen 2
B Zugriff mit einem Applet auf den Datenträger Allgemeine Java-Themen 11
S Innere Klasse: Zugriff auf äußere Variable Allgemeine Java-Themen 5
I Zugriff auf Daten Allgemeine Java-Themen 5
T Zugriff per Reflection o.ä. möglich? Allgemeine Java-Themen 18
D Zugriff auf Windows Dienste Allgemeine Java-Themen 7
G Zugriff auf Memberclasses einer geladenen Class-Datei Allgemeine Java-Themen 2
I Gleichzeitiger zugriff auf ein Long über Threads Allgemeine Java-Themen 2
P Wieso HashMap-Zugriff mit Object, statt mit MyObject? Allgemeine Java-Themen 12
J Kein Zugriff auf Klassen im Default Package Allgemeine Java-Themen 8
M Paralleler Zugriff auf statische Methode Allgemeine Java-Themen 5
S Zugriff auf unterschiedliche JREs Allgemeine Java-Themen 7
M "Unzulässiger Zugriff auf einen Speicherbereich" Allgemeine Java-Themen 7
A Zugriff auf Parallelport nur über Eclipse nicht über .jar ! Allgemeine Java-Themen 12
G Zugriff auf ein sama share Allgemeine Java-Themen 8
J Java zugriff auf Exchange Server Allgemeine Java-Themen 10
D eclipse: Zugriff auf Ordner per code Allgemeine Java-Themen 4
O Konkurrierender Zugriff auf Log-Datei mit Log4J Allgemeine Java-Themen 11
Caracasa [Threads] Gleichzeitiger Zugriff auf eine LinkedList Allgemeine Java-Themen 9
L Zugriff auf Objekt das sich in einer Liste befindet Allgemeine Java-Themen 2
J Zugriff auf den Namen einer Variablen Allgemeine Java-Themen 7
J Zugriff auf Map in anderer Klasse Allgemeine Java-Themen 2
J Endlosschleife durch wechselseitigen Zugriff zweier Klassen? Allgemeine Java-Themen 2
F Zugriff auf lokalen Rechner wer weiss Rat ? Allgemeine Java-Themen 16

Ähnliche Java Themen

Neue Themen


Oben