Programm beenden über menueItem "Beenden"!

MX76

Mitglied
Guten Abend Zusammen!

Ich möchte gerne meine GUI über das MenueItem Beenden schließen!
Leider bekomme ich das nicht hin und finde auch keine passende Lösung
im Netz🙁.
Vielen Danke für Eure Tips😉.

Liebe Grüße
Stefan


[import javax.swing.*;
import java.awt.event.*;
import java.awt.Color;
import java.text.DecimalFormat;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;


public class WarenEinsatz extends JFrame implements ActionListener {
//Variablen erstellen
JTextField tf1;
JTextField tf2;
JTextField tf3;
JLabel lb1;
JLabel lb2;
JLabel lb3;
JButton bt1;
JButton bt2;
double ih = 0.12;
double ah = 0.84;


public WarenEinsatz() {
//JFrame fst erzeugen, Größe,Titel, Layout und Position bestimmen
JFrame fst = new JFrame();
fst.setSize(300, 210);
fst.setLayout(null);
fst.setLocationRelativeTo(null);
fst.setTitle("Wareneinsatz Rechner");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar mz = new JMenuBar();
JMenu dateiMenue = new JMenu("Beenden");
dateiMenue.addActionListener(this);
mz.add(dateiMenue);
fst.setJMenuBar(mz);
//TextFeld1 erzeugen, platzieren und zum Frame hinzufügen
tf1 = new JTextField("");
tf1.setBounds(150,20,110,20);
fst.getContentPane().add(tf1);
//TextFeld2 erzeugen, platzieren und zum Frame hinzufügen
tf2 = new JTextField("");
tf2.setBounds(150,50,110,20);
fst.getContentPane().add(tf2);
//TextFeld3 erzeugen, platzieren und zum Frame hinzufügen
tf3 = new JTextField("");
tf3.setBounds(150,80,110,20);
fst.getContentPane().add(tf3);
tf3.setForeground(Color.red);
//Label1 erzeugen, platzieren und zum Frame hinzufügen
lb1 = new JLabel("Einkaufspreis:");
lb1.setBounds(40,20,120,20);
fst.getContentPane().add(lb1);
//Label2 erzeugen, platzieren und zum Frame hinzufügen
lb2 = new JLabel("Verkaufspreis:");
lb2.setBounds(40,50,120,20);
fst.getContentPane().add(lb2);
//Label3 erzeugen, platzieren und zum Frame hinzufügen
lb3 = new JLabel("Wareneinsatz:");
lb3.setBounds(40,80,120,20);
fst.getContentPane().add(lb3);
//JButton1 erzeugen, platzieren und zum Frame hinzufügen hinzufügen ActionListener
bt1 = new JButton("Im Haus");
bt1.setBounds(50,125,80,20);
fst.getContentPane().add(bt1);
bt1.addActionListener(this);
//JButton2 erzeugen, platzieren und zum Frame hinzufügen ActionListener
bt2 = new JButton("Außer Haus");
bt2.setBounds(160,125,80,20);
fst.getContentPane().add(bt2);
bt2.addActionListener(this);

fst.setVisible(true);
}

public static void main(String [] args) {
JFrame test = new WarenEinsatz();
}
public void actionPerformed(ActionEvent e) {

Object source = e.getSource();
DecimalFormat df = new DecimalFormat("#.00%");

String s1 = tf1.getText();
String s2 = tf2.getText();

double o1 = Double.parseDouble(s1);
double o2 = Double.parseDouble(s2);

if (source == bt1) {
tf3.setText("" + df.format(((o1 + ih) / o2)));
}
else if (source == bt2) {
tf3.setText("" + df.format(((o1 + ah) / o2)));
}
}
}
]
 
Zuletzt bearbeitet:
Hier noch der Code:
Java:
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);

JMenu mnStart = new JMenu("Start");
menuBar.add(mnStart);
		
JMenuItem mntmBeenden = new JMenuItem("Beenden");
mntmBeenden.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent arg0) {
		dispose();
	}
});
mnStart.add(mntmBeenden);
[TIPP]Java™ Quelltext ist bitte in
Java:
-Tags zu schreiben: [code=Java]hier Java Code einfügen
[/TIPP]
 
Hi,

erstmal Danke für Deine Antwort!
Ich habe das mit dem Actionlistener schon probiert, nur
leider weiß ich nicht wie ich diesen in meinem Code einfügen soll!
Vielleicht kanns Du mir noch einen Tip geben, da ich ja schon einen
ActionListener im Code habe....😉.

Vielen Dank
 
Entweder du machst das so wie ich
oder in deiner Klasse:
Java:
public void actionPerformed(ActionEvent e) {

Object source = e.getSource();
DecimalFormat df = new DecimalFormat("#.00%");

String s1 = tf1.getText();
String s2 = tf2.getText();

double o1 = Double.parseDouble(s1);
double o2 = Double.parseDouble(s2);

if (source == bt1) {
tf3.setText("" + df.format(((o1 + ih) / o2)));
}
else if (source == bt2) {
tf3.setText("" + df.format(((o1 + ah) / o2)));
else if(source == mntmBeenden)dipose();
}
}
 

Zurück
Oben