DIALOG Probleme

Hallo ich habe versucht in meine 2 Klassen die Fenster mit Dialog zu programmieren bekomm es aber nicht hin!! Kann mir jemand helfen! Meine zwei klassen stehen hier unten!

import java.awt.event.*;


public class steuerung implements ActionListener{
	
	private GUI cv1,cv2;
	private GUI tf1,tf2,tf3,tf4;
	int tz1,tz2,tz3,tz4;
	private GUI g;
	private FehlerFenster ff;
	
	steuerung(){}
	
	steuerung(GUI cv1,GUI cv2,GUI tf1,GUI tf2,GUI tf3,GUI tf4,GUI g){
		
		this.cv1=cv1;
		this.cv2=cv2;
		this.tf1=tf1;
		this.tf2=tf2;
		this.tf3=tf3;
		this.tf4=tf4;
		this.g=g;
	}
	public void getText() {
		
		tz1=Integer.parseInt(tf1.tf1.getText());
		tz2=Integer.parseInt(tf2.tf2.getText());
		tz3=Integer.parseInt(tf3.tf3.getText());
		tz4=Integer.parseInt(tf4.tf4.getText());
		
	}
	void dispose(){
		ff.dispose();
	}
	public void actionPerformed(ActionEvent e){
	       if(((tf1.tf1.getText().trim().equals(""))|(tf2.tf2.getText().trim().equals(""))|(tf3.tf3.getText().trim().equals(""))|(tf4.tf4.getText().trim().equals("")))){
	    	   
	    	   ff= new FehlerFenster();
	    	   ff.setSize(300,200);
	    	   ff.setLocationRelativeTo(g);
	    	   ff.setVisible(true);
	    	   ff.addWindowListener(new WindowAdapter(){
	   			public void windowClosing(WindowEvent e){
	   				dispose();
	   			}
	   			});
	    	   
	    	   }else{
	        	 Schwingung sg=new Schwingung(cv1,cv2);
	        
	}
  }

}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class FehlerFenster extends Frame{
	
	
	public FehlerFenster(){
		
	super("Eingabefehler");	
	
	setResizable(false);
	setBackground(new Color(50,81,102));
	setLayout(null);
	Label l0=new Label("Ein Fehler in Ihrer Eingabe ist ");
	l0.setFont(new Font("dialog", Font.PLAIN, 14)); 
	l0.setForeground(Color.gray);
	l0.setBounds(50,60,230,20);
	Label l1=new Label(" aufgetretten ");
	l1.setFont(new Font("dialog", Font.PLAIN, 14)); 
	l1.setForeground(Color.gray);
	l1.setBounds(105,80,230,20);
	Label l2=new Label("Bitte korrigieren Sie ihre Eingabe");
	l2.setFont(new Font("dialog", Font.PLAIN, 14)); 
	l2.setForeground(Color.gray);
	l2.setBounds(45,100,230,20);
	
	Button bt=new Button("OK");
	bt.setBounds(90,140,120,30);
	
	add(l0);
	add(l1);
	add(l2);
	add(bt);
	
	bt.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
			dispose();
    	}
    });
}
	
}```

du leistest von einem Frame ab anstatt von einem dialog…
überhaupt fehlt

setVisible(true);

am ende
beachte beim ableiten aus dialog dass sich der konstruktor von Dialog von dem von Frame unterscheidet…

PS: Klassennamen werden in C++ klein geschrieben in java GROSS am anfang

Zunächst mal, solltest du unbedingt an deinem Code-Stil arbeiten.
Nichtssagende Variablen machen das Verständnis unnötig schwerer. Das wird dir mal selbst auffallen, wenn du deinen Code ein halbes Jahr später betrachtest.

Ich nehme an, du wolltest hier eine ODER-Prüfung machen?

if(((tf1.tf1.getText().trim().equals(""))|(tf2.tf2.getText().trim().equals(""))|(tf3.tf3.getText().trim().equals(""))|(tf4.tf4.getText().trim().equals(""))))

ODER sieht in Java so aus: ||

Zeile 25 in der Klasse Steuerung:
Von einer Methode mit dem Namen getText() würde ich erwarten, dass sie mit eine Zeichenfolge (String) zurückgibt.

Es ist durchaus legitim, Ereignisse dort zu verarbeiten, wo sie geschehen, also im Frame.

nein Lex oder ist || UND auch |
| heißt alle „Argumente“ werden betrachtet
|| heißt sobald eins true ist werden alle anderen nicht mehr beachtet
das gleiche gilt auch für & nur halt da sobald eins fals ist wird nicht mehr weiter gemacht

Und was heißt eigentlich geht nicht? :wink:

OK, hab hier noch mal nachgelesen: Logische Operatoren
Passt soweit. Ist nur die Frage, ob das bei SirBaros notwendig ist.

Soo habe es verbessert aber es kommt immer noch ein Fehler!! Was habe ich falsch gemacht??

Klasse Steuerung ``` ff= new FehlerFenster(this,“Wollen Sie das Programm wirklich beenden?”);
ff.setSize(300,200);
ff.setLocationRelativeTo(g);
ff.setVisible(true);
ff.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
}
});

           }else{
             Schwingung sg=new Schwingung(cv1,cv2);```

Klasse Fenster

    
    
    public FehlerFenster(Frame steuerung, String msg){
        
    //super("Eingabefehler");    
    super(steuerung, "Ja-/Nein-Auswahl", true);```

Bei dem Befehl kommt ein Fehler wenn ich es mit Dialog mache!!

ff= new FehlerFenster(this,"Wollen Sie das Programm wirklich beenden?");

the constructor FehlerFenster(steuerung,string) is undefined

Die Klasse Steuerung muss von Frame erben, um als gültiges Argument durchzugehen.

[QUOTE=Unregistriert]Bei dem Befehl kommt ein Fehler wenn ich es mit Dialog mache!!

ff= new FehlerFenster(this,"Wollen Sie das Programm wirklich beenden?");

[/QUOTE]

hast du auch nich auf modal vergessen? ich denk eher dass es daran liegt was L-ectron-x erklärt hat, aber daran könnts auch liegen

[QUOTE=L-ectron-X]OK, hab hier noch mal nachgelesen: Logische Operatoren
Passt soweit. Ist nur die Frage, ob das bei SirBaros notwendig ist.[/QUOTE]
wobei ich dieses erzwingen nicht wirklich gut finde…da gibt es bessere wege.

ich wuerde die bitoperationen wie | oder & auch nur dafuer einsetzen !