Announcement

Collapse
No announcement yet.

Wohin mit meinem Code in einem Application Window?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wohin mit meinem Code in einem Application Window?

    Hallo,
    ich versuche gerade den Umstieg von C++ nach Java/Eclipse. Dazu habe ich erst mal eine Frage:

    Ich habe eine Window Application erstellt. In diesem .java-File werden ja einige Codezeilen automatisch erstellt (Erstellen der Anwendung; Initialisieren des Fensters). Jetzt habe ich eine Klasse (meineKlasse), in der einige Werte sowie eine Funktion (rechnen() ) stehen.

    Nun versuche ich einem Label, das auf meiner Form liegt, den Wert aus der Funktion rechnen() zu übergeben.

    Nun frage ich mich, wo ich denn meine Klasse erstellen soll und das Ergebnis meiner Funktion ans Label übergeben kann?

    Da das Label ja in der Funktion
    Code:
    public void initialize() {...}
    erstellt wird, kann ich dieses leider von außerhalb der Funktion garnicht ansprechen???

    Wie muss ich denn da vorgehen?

    Gruß und Danke
    Torsten

  • #2
    RCP mit SWT?

    Ich weiss zwar nicht was

    public void initialize()

    da drin steht und wer das automatisch macht, aber das Label wird sicherlich in der Klasse über eine Membervariable erreichbar sein.

    Was für eine Klasse willst du erstellen, wenn es um eine Methode geht?

    Ansonsten funktioniert die Kommunikation der Klassen wie bei C++....

    Die Instanz der Klasse wird in der Form angelegt und steht dort als Member zur Verfügung
    Christian

    Comment


    • #3

      Comment


      • #4
        Wenig hilfreich

        Wenn du nicht weisst, was du machst und was du nutzt, wer sollte es dann wissen?
        Christian

        Comment


        • #5
          Also, ich nutze eine Klasse (meineKlasse), die die Funktion rechnen() und zwei int-Variablen hat. Diesen Variablen teile ich einen Wert zu. Nun möchte ich das Ergebnis dieser Berechnung einem Label zuweisen, dass sich auf meiner Form befindet (Label1).
          Nur leider kann ich dieses Label nicht erreichen, um den Wert meiner Klasse zu übergeben?
          Hier der Code:

          Code:
          package drittesPackage;
          
          import java.awt.EventQueue;
          
          public class Fenster_drei {
          
          	private JFrame frame;
          
          	/**
          	 * Launch the application.
          	 */
          	public static void main(String[] args) {
          		EventQueue.invokeLater(new Runnable() {
          			public void run() {
          				try {
          					Fenster_drei window = new Fenster_drei();
          					window.frame.setVisible(true);
          					
          					
          					
          					
          				} catch (Exception e) {
          					e.printStackTrace();
          				}
          			}
          		});
          	}
          
          	/**
          	 * Create the application.
          	 */
          	private Fenster_drei() {
          		initialize();
          		Haupt_class meineKlasse = new Haupt_class();
          		
          		meineKlasse.Zahl1 = 1;
          		meineKlasse.Zahl2 = 2;
          		
          		meineKlasse.rechnen();
          
          	}
          
          	/**
          	 * Initialize the contents of the frame.
          	 */
          	public void initialize() {
          		frame = new JFrame();
          		frame.setBounds(100, 100, 450, 300);
          		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          		
          		JLabel Label1 = new JLabel("Mein Label...");
          		frame.getContentPane().add(Label1, BorderLayout.NORTH);
          	}
          
          	
          	
          	
          }
          Gruß
          Torsten

          Comment


          • #6
            Wie ich schon geschrieben habe:

            JLabel Label1 = new JLabel("Mein Label...");

            Label1 in eine Membervariable umwandeln
            Christian

            Comment


            • #7
              Ja, hätte ich auch finden müssen, da JFrame ja genau so deklariert wird

              Vielen Dank für die schnellen Antworten!!!

              Gruß
              Torsten

              Comment

              Working...
              X