Netbeans: wie auf grafische Elemente zugreifen von externem File?

  1. Mondmann

    Mondmann Thread StarterMacUser Mitglied

    Mitglied seit:
    21.07.2004
    Beiträge:
    2.821
    Zustimmungen:
    84
    Hallole.

    Ich mache also gerade schmerzvolle Erfahrungen mit Java.

    Ich habe eine kleine grafische Oberfläche mit Netbeans zusammengeklickt.
    Bei start liest er ein paar Zeilen aus einer Datei ein, und nutzt diese Informationen um einen Socket auszubauen und mit einem Server zu kommunizieren. Funktioniert einwandfrei.

    Jetzt möchte ich diese ganzen sachen etwas "aufräumen" und möchte die beschriebene funktion in ein anderes File auslagern und dan im Hauptfile aufrufen.

    Ich erstelle also einen neue Datei "funktionen.java" und importiere sie im Hauptfile "TestFrame.java".
    Ich erstelle eine klasse in der "funktionen.java" die eine einfache MEssagebox ausgibt, erstelle im Hauptfile eine INstanz dieser Klasse und rufe sie auf.
    Es funktioniert, der Dialog erscheint.
    So weit so gut.

    Jetzt sind die grafischen objekte, wie div. Textfelder ja im Hauptfile deklariert.
    Um Meldungstexte auszugeben sollte ich aber in der Datei "funktionen.java" auf diese Objekte zugreifen können.

    Da ist nun mein Problem.
    Das, was in der funktionsdatei steht sieht bisher so aus:
    Code:
     
    
    package my.TestFrame;
    
    /**
    *
    * @author ich
    */
    
    public class functions {
       
        /** Creates a new instance of functions */
      int anmeldung()
     
      {
         TestFrame.status.setText("hey");
         
      }
    
     
       
    
    
    
    }
    
    

    Da ich auf das Textfeld "status" zugreifen will, welches in TestFrame deklariert ist, kann ich nicht drauf zugreifen.
    Der Compiler meint, das das Element "private" ist.

    Kann ja sein, aber trotzdem möchte ich drauf zugreifen um den Text auszugeben.

    Wie mache ich das?

    Ich hoffe Ihr könnt mir helfen, Grüße Mondmann
     
    Mondmann, 30.10.2006
  2. SwissMike

    SwissMikeMacUser Mitglied

    Mitglied seit:
    01.11.2003
    Beiträge:
    717
    Zustimmungen:
    1
    Auf private Elemente kannst du nicht zugreifen. Das lässt sich (zum Glück) auch nicht ändern. Du änderst das Element in der Klasse TestFrame auf public oder schreibst eine get Methode die du dann public machst. Auf jeden Fall empfehle ich Dir eine grafische Oberfläche fürs erste von Hand zu erstellen und auf den GUI Builder zu verzchten. Das ist sehr lehrreich am Anfang. Ach ja, Klassennamen werden in Java grundsätzlich gross geschrieben.
     
    SwissMike, 30.10.2006
  3. wegus

    wegusMacUser Mitglied

    Mitglied seit:
    13.09.2004
    Beiträge:
    14.982
    Zustimmungen:
    1.545
    es ist allgemein üblich Instanzvariable nur über Methoden zu setzen/lesen. Diese Methoden:

    Object getStatus() und setStatus(Object status) können dan durchaus public sein. Ein Zugriff auf die private-Variable ist somit auf diese beiden Werkzeuge festgelegt.

    Es ist dabei üblich die Setter/Getter immer nach dem gleichen Schema zu bennen:

    int zahl;

    int getZahl()
    void setZahl( int neuwert)

    IDEs wie Eclipse und Netbeans machen das übrigens automatisch wenn Du die Variable mit der Maus selektierst und dann Refactor-Encapsulate Fields wählst. Die Setter/Getter werden dann für alle Variablen in der Markierung in der Klasse erstellt!
     
    wegus, 30.10.2006
  4. ybasket

    ybasketMacUser Mitglied

    Mitglied seit:
    17.01.2006
    Beiträge:
    325
    Zustimmungen:
    3
    ybasket, 30.10.2006
  5. wegus

    wegusMacUser Mitglied

    Mitglied seit:
    13.09.2004
    Beiträge:
    14.982
    Zustimmungen:
    1.545
    Eine gute Quelle für Java ist übrigens die berühmte Java-Insel:

    Javainsel
     
    wegus, 30.10.2006
  6. thrill-house

    thrill-houseMacUser Mitglied

    Mitglied seit:
    02.08.2005
    Beiträge:
    558
    Zustimmungen:
    0
    Ich hätte jetzt auch get und set gesagt
     
    thrill-house, 30.10.2006
  7. Mondmann

    Mondmann Thread StarterMacUser Mitglied

    Mitglied seit:
    21.07.2004
    Beiträge:
    2.821
    Zustimmungen:
    84
    Ok vielen Dank mal, dann werd ich mich mal durchwühlen.
    Ich denke irgendwie immer noch zu C++ - Mäßig:)

    Grüße Mondmann
     
    Mondmann, 30.10.2006
Die Seite wird geladen...
Ähnliche Themen - Netbeans auf grafische
  1. chpmc
    Antworten:
    21
    Aufrufe:
    4.016
  2. bolshi
    Antworten:
    14
    Aufrufe:
    1.234
  3. bolshi
    Antworten:
    1
    Aufrufe:
    704
  4. dissonanz
    Antworten:
    1
    Aufrufe:
    791
  5. hoppeSP
    Antworten:
    11
    Aufrufe:
    992
    supervision
    05.05.2006