Neues Frame über Button öffnen lassen

Status
Nicht offen für weitere Antworten.

grischan

Mitglied
Hallo,
ich wollte mir ein kleines Java-Programm schreiben um mir bei einer austellung den verkauf von tauben zu erleichtern

mein problem klingt eingentlich ziemlich banal (ist es vieleicht auch) aber ich hab schon das gesammte internet nach einer lösung durch gegoogelt und nix gefunden vieliecht könnt ihr mir helfen?

(1)
In meinen Hauptmenü gibt es zum Beispiel die Schaltfläche "Taube hinzufügen". wenn man diese betätigt sollte sich ein neues Fenster öffnen, das Fenster ist im selben Projekt als Add.java geschrieben.

Code:
import java.awt.*;
import java.awt.event.*;

public class Main_Menu extends Frame implements ActionListener {
	
	private Button buttonAdd = new Button ("Taube hinzufügen");
	private Button buttonClose = new Button ("Schließen");
	private Button buttonDelete = new Button ("Taube löschen");
	private Button buttonSell = new Button ("Taube verkaufen");
	private Button buttonList = new Button ("Liste");
	private Button buttonSold = new Button ("verkaufte Tauben");
	
	public Main_Menu ()  {
		super ("Hauptmenü-Taubenverkauf");
		
			
		setLayout (null);
		setBackground(new Color(192, 192, 192));
				
		Label label1 = new Label ("Taubenverkauf");
		label1.setBounds (40, 30, 155, 25);
		add (label1);
		
		this.buttonAdd.setBounds(40, 80, 160, 25);
		this.add(this.buttonAdd);
		this.buttonDelete.setBounds(40, 110, 160, 25);
		this.add(this.buttonDelete);
		this.buttonSell.setBounds(40, 140, 160, 25);
		this.add(this.buttonSell);
		this.buttonSold.setBounds(40, 170, 160, 25);
		this.add(this.buttonSold);
		this.buttonList.setBounds(40, 220, 160, 25);
		this.add(this.buttonList);
		this.buttonClose.setBounds(40, 300, 160, 25);
		this.add(this.buttonClose);
		
		buttonClose.addActionListener(this);
		buttonAdd.addActionListener(this);
				
		}
	
		public void actionPerformed(ActionEvent event)
		{
			Object source = event.getSource ();
			if (source == this.buttonClose)
				onClose();
			else if (source == this.buttonAdd)
				onAdd();
		}
		public static void main(String[] args)
		  {
		    Main_Menu menu = new Main_Menu();
		    menu.setBounds(100, 100, 280, 350);
		    menu.setVisible(true);
		  }
		private void onClose () {
			setVisible(false);
			dispose();
			System.exit(0);
		}
		private void onAdd () {
		      Frame fenster = new Frame(Add());
		}
		
}

Leider bekomm ich nun die Meldung vom Compiler das die Zeile

Frame fenster = new Frame(Add());

nicht compiliert werden kann:
"The method Add() is undefined for the type Main_Menu line 63"

Kann mir da jemand weiter helfen?
Ich hab mitlerweile jedes verfügbare Tutorial für AWT und Swing durch gesehen und nichts gefunden.
 

Timmah

Bekanntes Mitglied
Wo ist denn die Methode Add() definiert, ich sehe die nicht...Insofern kann die auch nicht gefunden werden.

Ansonsten ist das schon richtig wie du das machst.
Du schreibst dir eben einen neuen Frame, den du per Knopfdruck erstellst.
 

grischan

Mitglied
ich habe die Funktion Add() in einer weiteren Datei Add.java geschrieben und will die nun halt über die Funktion onAdd() aufrufen?
Oder muss ich nun die Funktion Add() in die selbe Datei packen
 
L

Leroy42

Gast
ich hab schon das gesammte internet nach einer lösung durch gegoogelt

8,5 Milliarden Seiten :?:
Respekt :cool:

Du schreibst, daß die Funktion in einer Datei "Add.java" steckt. Ist es denn eine Funktion oder
eher eine Klasse. Dann wäre 'Add()' ja der Konstruktor dieser Klasse und du müßtest
die mit 'new Add()' aufrufen?

Sorry aber ohne den Code zu kennen, können wir nicht viel helfen :cry:
 
G

Guest

Gast
würde es was helfen wenn ich die datein als eclipse project uploade?
ich wär das da einfach mal machen wenn ich zu hause bin

ps: genau nachgezählt hab ich noch nicht aaber 8,5 mrd könnte hinkommen :wink:
 

grischan

Mitglied
grischan hat gesagt.:
würde es was helfen wenn ich die datein als eclipse project uploade?
ich wär das da einfach mal machen wenn ich zu hause bin

ps: genau nachgezählt hab ich noch nicht aaber 8,5 mrd könnte hinkommen :wink:
 

grischan

Mitglied
achso, ja Add.java ist eine Klasse

ich hab auch schon versucht:
Add fenster = new Add();

leider sagt mir eclipse aber dass das nicht geht
 
L

Leroy42

Gast
Add.java ist also eine Datei die die Klasse Add definiert. Ist Add eine
Unterklasse von Frame/JFrame? Dann sollte
Code:
new Add().setVisible(true)
funktionieren.

leider sagt mir eclipse aber dass das nicht geht

Das glaube ich jetzt weniger: Kann eclipse denn so gut deutsch sprechen? :bae:

Im Ernst: Es bringt nichts zu schreiben das geht nicht, was genau ist denn die Fehlermeldung?
 

grischan

Mitglied
Add.java ist also eine Datei die die Klasse Add definiert. Ist Add eine
Unterklasse von Frame/JFrame? Dann sollte

new Add().setVisible(true)

funktionieren.

Das hat leider auch nicht geklappt, auch new Add().setBounds(x,x,x,x) funzt nich

Eclipse gibt die meldung raus : Add cannot resolved to a type
 

grischan

Mitglied
Das ist die Add.java :

Code:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Add extends Frame implements ActionListener {

	public Add ()  {
		super ("Taube hinzufügen");
		
		Label label1 = new Label ("folgende Taube hinzufügen: ");
		Label labelNr = new Label ("Käfignummer: ");
		Label labelRasse = new Label ("Rasse :");
		Label labelFarbe = new Label ("Farbe: ");
		Label labelZuechter = new Label ("Zuechter: ");
		Label labelPreis = new Label ("Preis: ");
		Label labelEuro = new Label (" €");
		
		TextField textFieldNr = new TextField ();
		TextField textFieldRasse = new TextField ();
		TextField textFieldFarbe = new TextField ();
		TextField textFieldZuechter = new TextField ();
		TextField textFieldPreis = new TextField ();
		
		Button cancel = new Button ("Abbrechen");
		Button ok = new Button ("Taube hinzufügen");
		Button zuechter = new Button ("Züchter suchen...");
		
		setLayout (null);
		setBackground(new Color(192, 192, 192));
				
		label1.setBounds (200, 30, 155, 25);
		add (label1);
		
		labelNr.setBounds (40, 65, 95, 25);
		add (labelNr);
		textFieldNr.setBounds(150, 65, 45, 25);
		add(textFieldNr);
		
		labelRasse.setBounds (40, 100, 95, 25);
		add (labelRasse);
		textFieldRasse.setBounds(150, 100, 245, 25);
		add(textFieldRasse);
		
		labelFarbe.setBounds (40, 135, 95, 25);
		add (labelFarbe);
		textFieldFarbe.setBounds(150, 135, 245, 25);
		add(textFieldFarbe);
		
		labelPreis.setBounds (40, 170, 95, 25);
		add (labelPreis);
		textFieldPreis.setBounds(150, 170, 45, 25);
		add(textFieldPreis);
		labelEuro.setBounds (200, 170, 20, 25);
		add (labelEuro);
		
		labelZuechter.setBounds (40, 205, 95, 25);
		add (labelZuechter);
		textFieldZuechter.setBounds(150, 205, 245, 25);
		add(textFieldZuechter);
		zuechter.setBounds(405, 205, 115, 25);
		add(zuechter);
		
		cancel.setBounds(80, 280, 100, 25);
		add(cancel);
		ok.setBounds(200, 280, 160, 25);
		add(ok);
		cancel.addActionListener(this);
				
		
	}
	public void actionPerformed(ActionEvent event)
	{
		setVisible(false);		
	}
	public static void main(String[] args)
	  {
		Add add = new Add();
	    add.setBounds(100, 100, 600, 350);
	    add.setVisible(true);
	  }
}
schon mal danke für die große hilfsbereitschaft
 
L

Leroy42

Gast
Dann gibt es eben keine class Add, oder ist nicht in der Datei Add.java deklariert
und javac findet sie deswegen nicht automatisch oder sie ist in einem anderen package
oder du arbeitest unter **ix und hast Groß/Kleinschreibung nicht beachtet oder...

Oh! Feierabend! Glück gehabt :cool:
 

grischan

Mitglied
ich hab die Add.java , die ja die Klasse Add() enthält gepostet, oder muss ich aus der Add.java die static void main herausnehmen??

die Add() kann ich ja auch so ausführen, wäre es denn dann nicht eigentlich möglich das der Button die Klasse Add() einfach startet? geht das überhaupt und wie?
 
L

Leroy42

Gast
grischan hat gesagt.:
ich hab die Add.java , die ja die Klasse Add() enthält gepostet, oder muss ich aus der Add.java die static void main herausnehmen??

Nein, das hat damit nichts zu tun.

grischan hat gesagt.:
die Add() kann ich ja auch so ausführen, wäre es denn dann nicht eigentlich möglich das der Button die Klasse Add() einfach startet? geht das überhaupt und wie?

Eigentlich schon und genau so wie du es versuchst.
Nochmal die Frage ob die beiden Java-Quelltexte in demselben Verzeichnis liegen.

Vielleicht liegt es auch an der Entwicklungsumgebung. Mach doch einfach mal eine
Shell/Konsole auf, wechsle in das Verzeichnis und versuche beide Programme
zu Fuß zu starten.
 
G

Guest

Gast
Die beiden Quelltexte leigen im selben Verzeichnis

merkwürdig, aus einer Shell lassen sich die beiden Programme nun nicht starten aber aus eclipse gehts, auch wenn ich sie zu einer .jar mache laufen die beiden dateien
 

Dominicana

Aktives Mitglied
Ich habe das Problem so gelöst:


Code:
import java.awt.*; 
import java.awt.event.*;
import *****.Add;  // Hier bei den Sternen mußt du deine Package eintragen!!!!!!!!


public class Main_Menu extends Frame implements ActionListener { 
    
   private Button buttonAdd = new Button ("Taube hinzufügen"); 
   private Button buttonClose = new Button ("Schließen"); 
   private Button buttonDelete = new Button ("Taube löschen"); 
   private Button buttonSell = new Button ("Taube verkaufen"); 
   private Button buttonList = new Button ("Liste"); 
   private Button buttonSold = new Button ("verkaufte Tauben"); 
    
   public Main_Menu ()  { 
      super ("Hauptmenü-Taubenverkauf"); 
       
          
      setLayout (null); 
      setBackground(new Color(192, 192, 192)); 
             
      Label label1 = new Label ("Taubenverkauf"); 
      label1.setBounds (40, 30, 155, 25); 
      add (label1); 
       
      this.buttonAdd.setBounds(40, 80, 160, 25); 
      // Das ist neu!!!
      this.buttonAdd.addActionListener(new AddFrameErzeugen());

      this.buttonDelete.setBounds(40, 110, 160, 25); 
      this.add(this.buttonDelete); 
      this.buttonSell.setBounds(40, 140, 160, 25); 
      this.add(this.buttonSell); 
      this.buttonSold.setBounds(40, 170, 160, 25); 
      this.add(this.buttonSold); 
      this.buttonList.setBounds(40, 220, 160, 25); 
      this.add(this.buttonList); 
      this.buttonClose.setBounds(40, 300, 160, 25); 
      this.add(this.buttonClose); 
       
      buttonClose.addActionListener(this); 
      buttonAdd.addActionListener(this); 
             
      } 
    
      public void actionPerformed(ActionEvent event) 
      { 
         Object source = event.getSource (); 
         if (source == this.buttonClose) 
            onClose(); 
         else if (source == this.buttonAdd) 
            onAdd(); 
      } 
      public static void main(String[] args) 
        { 
          Main_Menu menu = new Main_Menu(); 
          menu.setBounds(100, 100, 280, 350); 
          menu.setVisible(true); 
        } 
      private void onClose () { 
         setVisible(false); 
         dispose(); 
         System.exit(0); 
      } 
      private void onAdd () { 
            Frame fenster = new Frame(Add()); 
      } 
       
} 
class AddFrameErzeugen implements ActionListener {
    boolean packFrame = false;
    public void AddFrameErzeugen() {
    }
    public void actionPerformed(ActionEvent event) {
        Add frame = new Add();
        if (packFrame) {
            frame.pack();
        } else {
            frame.validate();
        }
        frame.setVisible(true);
    }
}

Und dann noch deine Add-Klasse! Sollte gehen, jedenfalls bei mir gehts!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Panel auf Frame löschen und neues Panel Hinzufügen AWT, Swing, JavaFX & SWT 4
J JTable Zeile anklicken und neues Frame öffnen AWT, Swing, JavaFX & SWT 4
D Neues Frame öffnen - und dazu altes schließen AWT, Swing, JavaFX & SWT 5
M neues Frame per klick anzeigen AWT, Swing, JavaFX & SWT 9
S MVC - Neues Frame, neue View, neuer Controller? AWT, Swing, JavaFX & SWT 3
G JavaFX Code in neues Projekt übernehmen AWT, Swing, JavaFX & SWT 0
W Clear Canvas und anschließendes neues Erstellen von Objekten auf Canvas aus ArrayList AWT, Swing, JavaFX & SWT 4
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
M Swing Durch Usereingabe neues Objekt AWT, Swing, JavaFX & SWT 2
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
B JavaFX ImageView neues Bild zuweisen AWT, Swing, JavaFX & SWT 19
I Neues JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
D Neues Dialog Mittig auf dem Bildschirm AWT, Swing, JavaFX & SWT 4
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
D Swing Bei Button Click neues Panel laden AWT, Swing, JavaFX & SWT 3
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
G JavaFX Neues Fenster erstellen AWT, Swing, JavaFX & SWT 3
A Swing GUI mit ComboBox, wenn Item ausgewählt wurde neues GUI AWT, Swing, JavaFX & SWT 7
W Neues TableModel und JTable wird nicht refreshed AWT, Swing, JavaFX & SWT 3
Wirago Swing neues Fenster nicht sichtbar AWT, Swing, JavaFX & SWT 6
A JComboBox-Inhalt durch neues Array ersetzen AWT, Swing, JavaFX & SWT 2
GianaSisters AWT Per Button neues Element auf den jPanel setzen AWT, Swing, JavaFX & SWT 6
J Mit Button neues Fenster öffnen AWT, Swing, JavaFX & SWT 17
B Warten bis neues ImageIcon zugewiesen ist AWT, Swing, JavaFX & SWT 3
J jme neues projekt öffnen AWT, Swing, JavaFX & SWT 4
T neues Fenster durch Button öffnen funktioniert nicht!! AWT, Swing, JavaFX & SWT 2
H Applet JApplet soll neues Tab im Browser öffnen AWT, Swing, JavaFX & SWT 2
X Swing Neues Fenster erzeugen AWT, Swing, JavaFX & SWT 3
M Swing jcombobox als jtable-editor: neues Item auswählen AWT, Swing, JavaFX & SWT 4
O Button (ActionPerformed) soll neues JFrame erzeugen AWT, Swing, JavaFX & SWT 8
Dit_ Mit Button "Weiter" neues Panel laden, altes ausblenden... AWT, Swing, JavaFX & SWT 4
H Swing [gelöst]Neues Swing Element erstellen AWT, Swing, JavaFX & SWT 4
H Swing neues fenster AWT, Swing, JavaFX & SWT 2
D Neues Java Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JList und ein neues Element oben in der Liste einfügen AWT, Swing, JavaFX & SWT 4
N Durch Button drücken neues Fenster öffnen AWT, Swing, JavaFX & SWT 13
I Applet --> neues Fenster öffnen AWT, Swing, JavaFX & SWT 11
N Threads kein neues Fenster erzeugen lassen AWT, Swing, JavaFX & SWT 4
F neues Fenster öffnen AWT, Swing, JavaFX & SWT 2
N in jScrollPane, neues Swing Element hinzufügen AWT, Swing, JavaFX & SWT 6
T Jbutton geklickt, dann neues Fenster AWT, Swing, JavaFX & SWT 4
S Neues Panel in JFrame anzeigen durch Button klick AWT, Swing, JavaFX & SWT 2
M Will ein neues Fenster AWT, Swing, JavaFX & SWT 13
D Neues JPanel ohne Symbolleisteneintrag AWT, Swing, JavaFX & SWT 6
G JButton benutzen um ein neues JFrame zu erstellen AWT, Swing, JavaFX & SWT 3
J Problem: neues Fenster bei dispose öffnen AWT, Swing, JavaFX & SWT 8
M Neues Programm? AWT, Swing, JavaFX & SWT 20
hamburger_jung Mit Button Klick neues Fenster öffnen. AWT, Swing, JavaFX & SWT 1
G Neues Model für JTextField erstellen AWT, Swing, JavaFX & SWT 8
M fortführung neues Bild laden AWT, Swing, JavaFX & SWT 12
M neues Bild laden AWT, Swing, JavaFX & SWT 15
V JOptionPane neues outfit mit BasicOptionPaneUI? AWT, Swing, JavaFX & SWT 22
J JList - doppelklick auf item -> neues fenster öffnet sich AWT, Swing, JavaFX & SWT 2
M Neues Fenster öffnen AWT, Swing, JavaFX & SWT 2
D in neues Image-Objekt zeichnen AWT, Swing, JavaFX & SWT 3
G JTree. Neues Element hinzufügen und Selection beibehalten! AWT, Swing, JavaFX & SWT 3
M Tooltip / neues Fenster AWT, Swing, JavaFX & SWT 6
J Neues Problem AWT, Swing, JavaFX & SWT 9
T IllegalComponentStateException The Frame is Displayable AWT, Swing, JavaFX & SWT 8
Fragerjava Frame inhalt komplett löschen AWT, Swing, JavaFX & SWT 4
volcanos Scrollen: JScrollPane mit Graphics g und Java-Fonts extends Frame ? AWT, Swing, JavaFX & SWT 5
Kotelettklopfer Frame ändert Farbe nicht AWT, Swing, JavaFX & SWT 12
P Swing Zufallsbilder auf Frame ausgeben AWT, Swing, JavaFX & SWT 1
D AWT Wie kann ich ein Frame von einem anderen aus beeinflussen? AWT, Swing, JavaFX & SWT 7
R 2D-Grafik Massive Frame Drops beim Benutzen von AffineTransformOp AWT, Swing, JavaFX & SWT 2
C Swing F5 Taste neu laden auf ganzen Frame AWT, Swing, JavaFX & SWT 9
J Genutzte Methoden in einen Frame einbauen AWT, Swing, JavaFX & SWT 21
H Swing Frame an andere Klassen weitergeben AWT, Swing, JavaFX & SWT 4
olfibits Swing JavaFX-Frame in JDesktopPane darstellen? AWT, Swing, JavaFX & SWT 2
F Swing Frame nach vorne holen AWT, Swing, JavaFX & SWT 2
J Panel auf Frame positionieren AWT, Swing, JavaFX & SWT 9
K Frame aus anderer Klasse schließen AWT, Swing, JavaFX & SWT 3
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
S Tastatur frame nur nur 1 mal öffnen AWT, Swing, JavaFX & SWT 1
T Swing Java-Frame bei Programmstart NICHT im Vordergrund öffnen AWT, Swing, JavaFX & SWT 2
A Programm nun in ein Frame basteln AWT, Swing, JavaFX & SWT 1
T Frame öffnet nicht AWT, Swing, JavaFX & SWT 1
A Swing GUI - Button soll Frame verändern AWT, Swing, JavaFX & SWT 4
Java_RY AWT Frame in eine eigene klasse auslagern und aufrufen AWT, Swing, JavaFX & SWT 6
S mit keylistener frame schliessen AWT, Swing, JavaFX & SWT 8
Thallius Wer oder was bestimmt welches Frame toFront kommt wenn ein anderes geschlossen wird? AWT, Swing, JavaFX & SWT 8
Z Swing Frame wird geöffnet, aber ist ohne Inhalt AWT, Swing, JavaFX & SWT 0
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
S NetBeans, Panel in Frame einfügen AWT, Swing, JavaFX & SWT 3
M Internal Frame in den vordergrund AWT, Swing, JavaFX & SWT 4
Tausendsassa Frame öffnet aber zeigt keinen Inhalt... AWT, Swing, JavaFX & SWT 10
Tom299 JavaFX Ähnliche Komponente wie der VB6 Frame? AWT, Swing, JavaFX & SWT 2
L Swing Frame in Thread wird nicht gezeichnet AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben