Hi,
ich bin kein Java-Könner, muss aber eine Oberfläche schreiben und stehe vor folgendem Problem: ich möchte die Icons für die ToolBar und MenuBar vorladen als ImageIcon[] und dann später in anderen Klassen darauf zugreifen können. Klingt jetzt nicht besonders schwer, aber irgendwie schaffe ich das nicht.
- Layout: BorderLayout (NORTH)
- Klassen, die darauf zugreifen sollen: JToolBar, JMenuBar
- Codeteil JToolbar-Variante:
Die andere Klasse sieht dementsprechend ähnlich aus. Aber ich weiß nicht genau wie man es anstellt, dass man Methoden zentral in eine Datei packt und die dann zugänglich macht - nur die Methoden. Muss man denn immer Klassen bilden? Am liebsten hätte ich das überhaupt ganz zentral und dann nur noch einbinden - aber jedesmal wenn ich es versuche, bringt er nur Fehlermeldungen oder zeigt das Ding dann einfach nicht mehr richtig an.
Danke im voraus,
dabu
ich bin kein Java-Könner, muss aber eine Oberfläche schreiben und stehe vor folgendem Problem: ich möchte die Icons für die ToolBar und MenuBar vorladen als ImageIcon[] und dann später in anderen Klassen darauf zugreifen können. Klingt jetzt nicht besonders schwer, aber irgendwie schaffe ich das nicht.
- Layout: BorderLayout (NORTH)
- Klassen, die darauf zugreifen sollen: JToolBar, JMenuBar
- Codeteil JToolbar-Variante:
Code:
public class MToolBar extends JToolBar implements ActionListener {
// Konstruktor
public MToolBar() {
add(new AbstractAction("Neu", mCreateImageIcon("icon.gif")) {
public void actionPerformed(ActionEvent e) {}
});
// andere Icons..
}
// Die will ich zentral woanders haben:
public ImageIcon mCreateImageIcon(String mySrc) {
String myLocation = "../images/" + mySrc;
return new ImageIcon(getClass().getResource(myLocation));
}
}
Die andere Klasse sieht dementsprechend ähnlich aus. Aber ich weiß nicht genau wie man es anstellt, dass man Methoden zentral in eine Datei packt und die dann zugänglich macht - nur die Methoden. Muss man denn immer Klassen bilden? Am liebsten hätte ich das überhaupt ganz zentral und dann nur noch einbinden - aber jedesmal wenn ich es versuche, bringt er nur Fehlermeldungen oder zeigt das Ding dann einfach nicht mehr richtig an.
Danke im voraus,
dabu