holzjunge
Ensign
- Registriert
- Juli 2008
- Beiträge
- 135
Hi,
ich bräuchte bitte eure Hilfe. Habe schon ausgiebig gegoogelt, finde allerdings keine Antwort.
Haben an der FH als Übung eine Java GUI zu programmieren bekommen. Mit dieser komme ich soweit auch gut zurecht. Nur sind es zwei Aufgaben wo ich grade nicht weiter komme.
1. Müssen wir in unser Fenster das wir erstellt haben, ein Feld erstellen wo alle Event ausgegeben werden. Sprich wenn ich auf ein MenuItem klicke, das er das jeweilige ereigniss ausgibt. Wie bekomme ich das hin? Hatte mal etwas von einem JXFrame gelesen...dieser ließ sich aber erst gar nicht implementieren. Müssen alle MenuItem´s dafür über einen ActionListener verfügen?
2. Haben wir in dem Fenster eine JTextArea, die wir mit dem Menu "Format" -> Ausschneiden, Kopieren und Einfügen bearbeiten sollen. Das das Objekt JTextArea über solche Methoden verfügt habe ich in der API nachgelesen. Wie schreibe ich es aber nun das er den jeweiligen Effekt auf makierten Text ausführt?
Und warum finde er meine variable "ta1" nicht? obwohl ich diese sogar initialisiert und deklariert habe?
Achso Aufgabe war es mit ActionListenern aus einer Anonymen Klasse und einer Inneren Klasse zuarbeiten. Also nicht wundern
Vielen Dank.
ich bräuchte bitte eure Hilfe. Habe schon ausgiebig gegoogelt, finde allerdings keine Antwort.
Haben an der FH als Übung eine Java GUI zu programmieren bekommen. Mit dieser komme ich soweit auch gut zurecht. Nur sind es zwei Aufgaben wo ich grade nicht weiter komme.
1. Müssen wir in unser Fenster das wir erstellt haben, ein Feld erstellen wo alle Event ausgegeben werden. Sprich wenn ich auf ein MenuItem klicke, das er das jeweilige ereigniss ausgibt. Wie bekomme ich das hin? Hatte mal etwas von einem JXFrame gelesen...dieser ließ sich aber erst gar nicht implementieren. Müssen alle MenuItem´s dafür über einen ActionListener verfügen?
2. Haben wir in dem Fenster eine JTextArea, die wir mit dem Menu "Format" -> Ausschneiden, Kopieren und Einfügen bearbeiten sollen. Das das Objekt JTextArea über solche Methoden verfügt habe ich in der API nachgelesen. Wie schreibe ich es aber nun das er den jeweiligen Effekt auf makierten Text ausführt?
Und warum finde er meine variable "ta1" nicht? obwohl ich diese sogar initialisiert und deklariert habe?
Achso Aufgabe war es mit ActionListenern aus einer Anonymen Klasse und einer Inneren Klasse zuarbeiten. Also nicht wundern
Vielen Dank.
Code:
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.*;
public class MeinEditor
{
JTextArea ta1;
JFrame fenster;
public MeinEditor()
{
fensterErzeugen();
ta1 = new JTextArea("Bitte tragen Sie ihren Text ein.");
fenster = new JFrame("Mein Editor");
}
private void fensterErzeugen()
{
JFrame fenster = new JFrame("Editor");
Container contentPane = fenster.getContentPane();
JTextArea ta1 = new JTextArea("Bitte tragen Sie ihren Text ein.");
JTextArea ta2c = new JTextArea("");
contentPane.add(ta1, BorderLayout.CENTER);
contentPane.add(ta2c, BorderLayout.SOUTH);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
menuErzeugen(fenster);
fenster.pack();
fenster.setVisible(true);
}
private void menuErzeugen(JFrame fenster)
{
JMenuBar menuZeile = new JMenuBar();
fenster.setJMenuBar(menuZeile);
//Methodenübergabe
reiterErzeugen(menuZeile);
}
private void reiterErzeugen(JMenuBar menuZeile)
{
JMenu datei = new JMenu("Datei");
ImageIcon iconDatei = new ImageIcon("Images/Datei.png");
datei.setIcon(iconDatei);
menuZeile.add(datei);
datei.setMnemonic(KeyEvent.VK_D);
JMenu bearb = new JMenu("Bearbeiten");
ImageIcon bearbIcon = new ImageIcon("Images/Bearb.png");
bearb.setIcon(bearbIcon);
menuZeile.add(bearb);
bearb.setMnemonic(KeyEvent.VK_B);
JMenu form = new JMenu("Format");
ImageIcon formIcon = new ImageIcon("Images/Form.png");
form.setIcon(formIcon);
menuZeile.add(form);
form.setMnemonic(KeyEvent.VK_F);
JMenu help = new JMenu("Hilfe");
ImageIcon helpIcon = new ImageIcon ("Images/Hilfe.png");
help.setIcon(helpIcon);
menuZeile.add(help);
help.setMnemonic(KeyEvent.VK_H);
//Methodenübergabe
dateiItemErzeugen(datei);
bearbItemErzeugen(bearb, ta1);
formItemErzeugen(form);
helpItemErzeugen(help);
}
private void dateiItemErzeugen(JMenu datei)
{
JMenuItem neu = new JMenuItem("Neu", new ImageIcon("Images/neu.png"));
neu.setMnemonic(KeyEvent.VK_N);
neu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.ALT_MASK));
neu.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Neu ist noch nicht Implementiert!");
JOptionPane.showMessageDialog(null,"Neu ist noch nicht Implementiert!","Error", JOptionPane.ERROR_MESSAGE);
}
}
);
datei.add(neu);
JMenuItem open = new JMenuItem("Oeffnen", new ImageIcon("Images/oeffnen.png"));
datei.addSeparator();
open.setMnemonic(KeyEvent.VK_O);
open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.ALT_MASK));
open.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
oeffnen(fenster);
}
});
datei.add(open);
JMenuItem save = new JMenuItem("Speichern", new ImageIcon("Images/save.png"));
save.setMnemonic(KeyEvent.VK_S);
save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.ALT_MASK));
save.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Speichern ist noch nicht Implementiert!");
JOptionPane.showMessageDialog(null,"Speichern ist noch nicht Implementiert!","Error", JOptionPane.ERROR_MESSAGE);
}
});
datei.add(save);
JMenuItem saveas = new JMenuItem("Speichern unter...", new ImageIcon("Images/save.png"));
saveas.setMnemonic(KeyEvent.VK_U);
saveas.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, ActionEvent.ALT_MASK));
saveas.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Speichern unter..., ist noch nicht Implementiert!");
JOptionPane.showMessageDialog(null,"Speichern unter..., ist noch nicht Implementiert!","Error", JOptionPane.ERROR_MESSAGE);
}
});
datei.add(saveas);
datei.addSeparator();
JMenuItem close = new JMenuItem("Schließen", new ImageIcon("Images/close.png"));
close.setMnemonic(KeyEvent.VK_F4);
close.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4, ActionEvent.ALT_MASK));
close.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
close();
}
});
datei.add(close);
JMenuItem exit = new JMenuItem("Beenden", new ImageIcon("Images/exit.png"));
exit.setMnemonic(KeyEvent.VK_B);
exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, ActionEvent.ALT_MASK));
datei.add(exit);
exit.setMnemonic(KeyEvent.VK_B);
exit.addActionListener(new BeendeAction());
}
private void bearbItemErzeugen(JMenu bearb,final JTextArea ta1)
{
JMenuItem back = new JMenuItem("Rückgängig", new ImageIcon("Images/back.png"));
back.setMnemonic(KeyEvent.VK_Y);
back.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y, ActionEvent.ALT_MASK));
back.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Rückfgängig ist noch nicht Implementiert!");
JOptionPane.showMessageDialog(null,"Rückgängig ist noch nicht Implementiert!","Error", JOptionPane.ERROR_MESSAGE);
}
});
bearb.add(back);
JMenuItem vor = new JMenuItem("Wiederherstellen", new ImageIcon("Images/vor.png"));
vor.setMnemonic(KeyEvent.VK_X);
vor.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.ALT_MASK));
vor.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Wiederherstellen ist noch nicht Implementiert!");
JOptionPane.showMessageDialog(null,"Wiederherstellen ist noch nicht Implementiert!","Error", JOptionPane.ERROR_MESSAGE);
}
});
bearb.add(vor);
bearb.addSeparator();
JMenuItem cpy = new JMenuItem("Kopieren", new ImageIcon("Images/copy.png"));
cpy.setMnemonic(KeyEvent.VK_K);
cpy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_K, ActionEvent.ALT_MASK));
cpy.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
textCopy(ta1);
}
});
bearb.add(cpy);
JMenuItem cut = new JMenuItem("Ausschneiden", new ImageIcon("Images/cut.png"));
cut.setMnemonic(KeyEvent.VK_A);
cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.ALT_MASK));
cut.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
textCut(ta1);
}
});
bearb.add(cut);
JMenuItem in = new JMenuItem("Einfügen", new ImageIcon("Images/paste.png"));
in.setMnemonic(KeyEvent.VK_E);
in.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E, ActionEvent.ALT_MASK));
in.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
textPaste(ta1);
}
});
bearb.add(in);
}
private void formItemErzeugen(JMenu form)
{
JMenuItem passen = new JMenuItem("Anpassen", new ImageIcon("Images/passen.png"));
passen.setMnemonic(KeyEvent.VK_P);
passen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.ALT_MASK));
passen.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Anpassen ist noch nicht Implementiert!");
JOptionPane.showMessageDialog(null,"Anpassen ist noch nicht Implementiert!","Error", JOptionPane.ERROR_MESSAGE);
}
});
form.add(passen);
JMenuItem grss = new JMenuItem("Größe", new ImageIcon("Images/grss.png"));
grss.setMnemonic(KeyEvent.VK_G);
grss.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G, ActionEvent.ALT_MASK));
grss.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Größe ist noch nicht Implementiert!");
JOptionPane.showMessageDialog(null,"Größe ist noch nicht Implementiert!","Error", JOptionPane.ERROR_MESSAGE);
}
});
form.add(grss);
}
private void helpItemErzeugen(JMenu help)
{
JMenuItem ueber = new JMenuItem("Über uns", new ImageIcon("Images/ueber.png"));
ueber.setMnemonic(KeyEvent.VK_U);
ueber.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, ActionEvent.ALT_MASK));
ueber.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null,"Version 1.0, Programmiert von: .... 04.06.13","Über mich", JOptionPane.PLAIN_MESSAGE);
}
});
help.add(ueber);
help.addSeparator();
JMenuItem online = new JMenuItem("Onlinehilfe", new ImageIcon("Images/online.png"));
online.setMnemonic(KeyEvent.VK_O);
online.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.ALT_MASK));
online.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Onlinehilfe ist noch nicht Implementiert!");
JOptionPane.showMessageDialog(null,"Onlinehilfe ist noch nicht Implementiert!","Error", JOptionPane.ERROR_MESSAGE);
}
});
help.add(online);
JMenuItem manager = new JMenuItem("Hilfemanager", new ImageIcon("Images/manager.png"));
manager.setMnemonic(KeyEvent.VK_M);
manager.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, ActionEvent.ALT_MASK));
manager.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Hilfemanager ist noch nicht Implementiert!");
JOptionPane.showMessageDialog(null,"Hilfemanager ist noch nicht Implementiert!","Error", JOptionPane.ERROR_MESSAGE);
}
});
help.add(manager);
help.addSeparator();
JMenuItem update = new JMenuItem("Auf Updates prüfen", new ImageIcon("Images/update.png"));
update.setMnemonic(KeyEvent.VK_D);
update.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, ActionEvent.ALT_MASK));
update.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Update ist noch nicht Implementiert!");
JOptionPane.showMessageDialog(null,"Update ist noch nicht Implementiert!","Error", JOptionPane.ERROR_MESSAGE);
}
});
help.add(update);
}
//Methode für Statuszeile
/*public void statusZeileErzeugen()
{
JXStatusBar status = new JXStatusBar();
Container contentPane = status.getContentPane();
contentPane.add(status);
}*/
//Anonymeklassen Methodenaufrufe
private void oeffnen(JFrame fenster)
{
JFileChooser opener = new JFileChooser();
int result = opener.showOpenDialog(fenster);
System.out.println(result);
if(result==JFileChooser.APPROVE_OPTION)
{
System.out.println(opener.getSelectedFile());
}
}
private void close()
{
System.out.println("Schließen nicht implementiert.");
}
private void textCopy(JTextArea ta1)
{
//JLabel lbta1 = new JLabel("");
ta1.copy();
}
private void textCut(JTextArea ta1)
{
ta1.cut();
}
private void textPaste(JTextArea ta1)
{
ta1.paste();
}
public class BeendeAction implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
public static void main(String[] args)
{
new MeinEditor();
}
}