Java Mehrere Klassen und Main Methode

...komplette Frage anzeigen

3 Antworten

Also ich hab deine Frage jetzt x mal durchgelesen um überhaupt ne Idee zubekommen was dein Problem ist^^ Und noch immer bin ich mir nicht sicher!

Also erstens du erzeugst keine Klassen sondern Objekte aus Klassen. zweitens die Methode frame() kannste dir ja schneken und das zeug gleich in den Konstruktor tippen!

Dann haste z.B.: die Klasse Main.java

public class Main {

/**
 * Main method
 * @param args
 */
public static void main(String[] args) {
    openWindowNo1();
}

public static void openWindowNo1(){
    Window_No1 objectwindow = new Window_No1();
}
}

WICHTIG: Schreibweise genau so wie deine Klasse heist!! Falsch: WindowNo1 objectwindow = new WindowNo1(); Richtig ist es wie bei mir im Beispiel! Und nur einmal im Java Projekt eine main Methode. Ausserdem erzeugst du hier keine Klasse sondern das Objekt Namens objectwindow vom Typ deiner Klasse

Window_No1.java

import java.awt.Color;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Window_No1 extends JFrame{

public Window_No1(){                             //Konstruktor

    setVisible(true);
    setSize(300,300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JPanel p = new JPanel();
    p.setBackground(Color.GRAY);

    JButton b1 = new JButton ("InsertionSort");
    p.add(b1);
    add(p);
}
}

WICHTIG: b1 auch adden wie es mein Vorredner schon gesagt hat! in dem Falle erbt deine Klasse von JFrame also wie im Beispiel Window_No1 extends JFrame

Hoffe ich hab dein Problem richtig verstanden und konnte es lösen!?!?

Grüße theDoc

Und die Frage? Ich nehme mal an, dass du den Button gerne sehen würdes, right?

Der Ansatz ist schonmal richtig, du hast die Komponenten schon mal erzeugt. Jetzt musst du sie nur noch zusammenstecken! Das heißt du brauchst noch:

p.add(b1);

Um den Knopf zum Panel hinzuzufügen, und:

f.add(p);

Um das panel mit dem Button drauf auch zu dem Fenster hinzuzufügen.

Pit96 17.10.2012, 20:37

Danke ich hab jetzt jedoch noch eine weitere Frage!

Ich hab jetzt noch einmal neu mit Net Beans angefangen und eine Klasse JFrame erzeugt mit dem Assistenten. Jetzt möchte ich Zahlen die Sortiert wurden in einem eigenen Fenster ausgeben wie kann ich das machen?

Hier das Programm:

https://www.dropbox.com/sh/kni1alhw1ia4aw8/Ixw12tSYqa

0

Abgesehen davon, dass nicht wirklich klar ist was deine Frage ist...

Dabei führe ich jedoch nur eine Methode aus der Klasse aus und nicht den notwendigen Konstruktor

Der Konstruktor einer Klasse wir IMMER dann ausgeführt wenn du mit dem new-Oprator ein neues Object erstellst.

In deinem Fall:

WindowNo1 objectwindow = new WindowNo1();

Zu dem Zeitpunt wird der Konstruktor bereits ausgeführt.

Was möchtest Du wissen?