Hallo zusammen,
ich sitze derzeit an meinem Fernstudium im Bereich Java und wundere mich über die Erstellung der class-Dateien.
Der unten genannte Quellcode lässt sich ohne Probleme erstellen. Die Class-Dateien erstelle ich über folgenden Befehl:
javac -d C:\java\eigeneKlassen MenuActionEvents.java
Anschließend werden im Zielverzeichnis folgende Class-Dateien erstellt:
MenuActionEvents.class
MenuActionEvents$1.class
MenuActionEvents$2.class
MenuActionEvents$3.class
MenuActionEvents$4.class
MenuActionEvents$5.class
MenuActionEvents$6.class
Meine Frage:
Warum werden die $1 bis $6 CLASS-Dateien erstellt? Müsste nicht nur die MenuActionEvents.class Datei erstellt werden?
Vielen Dank für Eure Unterstützung
Dirk
ich sitze derzeit an meinem Fernstudium im Bereich Java und wundere mich über die Erstellung der class-Dateien.
Der unten genannte Quellcode lässt sich ohne Probleme erstellen. Die Class-Dateien erstelle ich über folgenden Befehl:
javac -d C:\java\eigeneKlassen MenuActionEvents.java
Anschließend werden im Zielverzeichnis folgende Class-Dateien erstellt:
MenuActionEvents.class
MenuActionEvents$1.class
MenuActionEvents$2.class
MenuActionEvents$3.class
MenuActionEvents$4.class
MenuActionEvents$5.class
MenuActionEvents$6.class
Meine Frage:
Warum werden die $1 bis $6 CLASS-Dateien erstellt? Müsste nicht nur die MenuActionEvents.class Datei erstellt werden?
Vielen Dank für Eure Unterstützung
Dirk
Code:
package jav6N.lektion3;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class MenuActionEvents extends JFrame implements ActionListener{
JTextField jtfStatus;
Container contentPane;
// Menü-Objekte
JMenuBar menuBar;
JMenu menuFile, menuOpen, menuHelp;
JMenuItem jmiNew, jmiOpenFile, jmiOpenWeb, jmiClose,
jmiSave, jmiSaveAs, jmiHelp, jmiAbout;
private Action actNewFile, actOpenFile, actOpenWeb,
actSaveFile, actHelp, actAbout;
public MenuActionEvents() {
super("Swing-Frame mit Menü");
setSize(400,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contentPane = this.getContentPane();
// hier: Zusammenbau der Menüs ...
createMenu();
// Tooltips hinzufügen
defineTooltips();
// Statusfeld einbauen
jtfStatus=new JTextField("");
jtfStatus.setBackground(Color.black);
jtfStatus.setForeground(Color.white);
JPanel panel=new JPanel();
panel.setLayout(new BorderLayout());
panel.add(BorderLayout.SOUTH, jtfStatus);
contentPane.add(BorderLayout.CENTER, panel);
setVisible(true);
}
public void createMenu() {
// Menü-Kontruktion - zuerst die MenuBar:
menuBar=new JMenuBar();
setJMenuBar(menuBar);
// Erstellung Menüpunkt "Datei"
menuFile=new JMenu("Datei");
// ... Untermenü "Neu"
actNewFile=new AbstractAction("Neu..") {
public void actionPerformed(ActionEvent ae) {
jtfStatus.setText("\"Datei - Neu...\" gewählt.");
}
};
jmiNew=menuFile.add(actNewFile);
// ... Menü "Öffnen"
menuOpen=new JMenu("Öffnen");
// ... Untermenü "Dateisystem" vom Menü "Öffnen"
actOpenFile=new AbstractAction("Dateisystem...") {
public void actionPerformed(ActionEvent ae) {
jtfStatus.setText("\"Datei - Oeffnen - Dateisystem...\" gewählt.");
}
};
jmiOpenFile=menuOpen.add(actOpenFile);
// ... Untermenü "Web..." vom Menü "Öffnen"
actOpenWeb=new AbstractAction("Web...") {
public void actionPerformed(ActionEvent ae) {
jtfStatus.setText("\"Datei - Oeffnen - Web...\" gewählt.");
}
};
jmiOpenWeb=menuOpen.add(actOpenWeb);
// Menu "Open" dem Menü "Datei" hinzufügen
menuFile.add(menuOpen);
// Menüpunkt "Schließen"
jmiClose=new JMenuItem("Schließen");
jmiClose.addActionListener(this);
menuFile.add(jmiClose);
// Trennlinie einfügen
menuFile.addSeparator();
// ... Speichern
actSaveFile=new AbstractAction("Speichern") {
public void actionPerformed(ActionEvent ae) {
jtfStatus.setText("\"Datei - Speichern\" gewählt.");
}
};
jmiSave=menuFile.add(actSaveFile);
// ... Speichern als
jmiSaveAs=new JMenuItem("Speichern als...");
jmiSaveAs.addActionListener(this);
menuFile.add(jmiSaveAs);
// ... Menü "Datei" der Menübar hinzufügen
menuBar.add(menuFile);
// Hilfe-Menü
menuHelp=new JMenu("?");
// ... Hilfe
actHelp=new AbstractAction("Hilfe") {
public void actionPerformed(ActionEvent ae) {
jtfStatus.setText("\"Hilfe - Hilfe\" gewählt.");
}
};
jmiHelp=menuHelp.add(actHelp);
// Trennlinie einfügen
menuHelp.addSeparator();
// ... Info
actAbout=new AbstractAction("Info") {
public void actionPerformed(ActionEvent ae) {
jtfStatus.setText("\"Hilfe - Info\" gewählt.");
}
};
jmiAbout=menuHelp.add(actAbout);
// ... Menü "Hilfe" der Menübar hinzufügen
menuBar.add(menuHelp);
// Versorgung der Tastenkürzel
menuFile.setMnemonic('D');
jmiNew.setMnemonic('N');
menuOpen.setMnemonic('f');
jmiOpenFile.setMnemonic('e');
jmiOpenWeb.setMnemonic('W');
jmiClose.setMnemonic('s');
jmiSave.setMnemonic('p');
jmiSaveAs.setMnemonic('a');
}
public void defineTooltips() {
jmiNew.setToolTipText("Erstelle eine neue Datei");
jmiOpenFile.setToolTipText("Datei oeffnen");
jmiOpenWeb.setToolTipText("Oeffnen Web-Seite");
jmiClose.setToolTipText("Programm schliessen");
jmiSave.setToolTipText("Datei sichern");
jmiSaveAs.setToolTipText("Datei Speichern unter");
jmiHelp.setToolTipText("Anzeige der Hilfe");
jmiAbout.setToolTipText("Anzeige der Info");
}
public static void main(String[] args) {
new MenuActionEvents();
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource().equals(jmiClose))
System.exit(0);
else if(ae.getSource().equals(jmiSaveAs))
jtfStatus.setText("\"Datei - Speichern als...\" gewählt");
}
}