Swing Auf Klick auf Menü-Eintrag reagieren

Diskutiere Auf Klick auf Menü-Eintrag reagieren im AWT, Swing, JavaFX & SWT Bereich.
H

Hieu

Hallo Leute,

also ich habe ein JFrame mit einem Menu .Ich möchte , dass wenn das JMenuItem ,,Kunde wählen" anklickt wird, sich ein Dialog mit einer Kundenliste(also die Namen) öffnet und ich dann eine Aktion auslösen kann, wenn einer von denen angeklickt wird. Hier ist der Code dazu.
Code:
package Klassen;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;

/**
 *
 * Description
 *
 * @version 1.0 from 27/06/2020
 * @author
 */

public class GuiRechnungen extends JFrame implements ActionListener,MenuListener{
  /**
     *
     */
    private static final long serialVersionUID = 1L;
// start attributes
  private JMenuBar menu = new JMenuBar();
  private JMenu datei = new JMenu("Kunden");
  private JMenu info = new JMenu("Info");
  private JMenuItem kundewaehlen = new JMenuItem("Kunde wählen");
  private JMenuItem beenden = new JMenuItem("Beenden");
  private JTextArea textarea = new JTextArea();
  private Kunden kunde;
  private JLabel lGemietetesAuto = new JLabel();
  private JLabel lAuto = new JLabel();
  private JLabel lGefahreneKilometer1 = new JLabel();
  private JTextField jNumberField1 = new JTextField();
  private JButton bAbgeben1 = new JButton();
  private JComboBox<Autos> jComboBox1 = new JComboBox<Autos>()  ;
  private DefaultComboBoxModel<Autos> jComboBox1Model = new DefaultComboBoxModel<Autos>();
  private JButton bMieten = new JButton();
  // end attributes
 
  public GuiRechnungen() {
    // Frame-Init
    super();
    setKunde(Projekt.kundenarray.get(1));
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 824;
    int frameHeight = 526;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setTitle(this.kunde.getstringname());
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    // start components
 
    kundewaehlen.addActionListener(this);
    beenden.addActionListener(this);
    datei.add(kundewaehlen);
    datei.add(beenden);
    menu.add(datei);
    info.addMenuListener(this);
    menu.add(info);
    setJMenuBar(menu);
    lGemietetesAuto.setBounds(18, 69, 134, 28);
    lGemietetesAuto.setText("gemietetes Auto: ");
    cp.add(lGemietetesAuto);
    lAuto.setBounds(174, 69, 118, 28);
    lAuto.setText(this.kunde.getautos().get(1).getkennzeichen());
    cp.add(lAuto);
    lGefahreneKilometer1.setBounds(345, 73, 129, 28);
    lGefahreneKilometer1.setText("gefahrene Kilometer : ");
    cp.add(lGefahreneKilometer1);
    jNumberField1.setBounds(496, 74, 91, 28);
    jNumberField1.setText("");
    cp.add(jNumberField1);
    bAbgeben1.setBounds(645, 72, 91, 33);
    bAbgeben1.setText("abgeben");
    bAbgeben1.setMargin(new Insets(2, 2, 2, 2));
    bAbgeben1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        bAbgeben1_ActionPerformed(evt);
      }
    });
    cp.add(bAbgeben1);
    jComboBox1.setModel(jComboBox1Model);
    jComboBox1.setBounds(14, 134, 158, 36);
    cp.add(jComboBox1);
    bMieten.setBounds(173, 136, 91, 33);
    bMieten.setText("mieten");
    bMieten.setMargin(new Insets(2, 2, 2, 2));
    bMieten.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        bMieten_ActionPerformed(evt);
      }
    });
    cp.add(bMieten);
 
    // end components
    
    setVisible(true);
 
}




// end of public GuiRechnungen
 
  // start methods
 

 
  public void bAbgeben1_ActionPerformed(ActionEvent evt) {
    // TODO add your code here
    
  } // end of bAbgeben1_ActionPerformed

  public void bMieten_ActionPerformed(ActionEvent evt) {
    // TODO add your code here
    
  } // end of bMieten_ActionPerformed

public Kunden getKunde() {
    return kunde;
}

public void setKunde(Kunden kunde) {
    this.kunde = kunde;
}




@Override
public void actionPerformed(ActionEvent e) {
    
    if (e.getSource() == kundewaehlen){
        
    }
    if (e.getSource() == beenden){
         dispose();
    }
    
  
}






@Override
public void menuDeselected(MenuEvent e) {
    // TODO Auto-generated method stub
    
}




@Override
public void menuCanceled(MenuEvent e) {
    // TODO Auto-generated method stub
    
}




@Override
public void menuSelected(MenuEvent e) {
    if(e.getSource()== info) {
        JOptionPane.showMessageDialog(this,"Name : Hieu Trung Vu\nMatrikelnummer : s0574700", "Info",JOptionPane.INFORMATION_MESSAGE);
ich hab leider noch nicht viel Erfahrung mit Swing deswegen würde ich mich über eine Antwort freuen
    }
    
}
    


  // end methods
} // end of class GuiRechnungen
 
Thema: 

Auf Klick auf Menü-Eintrag reagieren

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben