Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


8.4.8

JToolBar



Abbildung 8.15: JToolBar
Abbildung 8.15

Eine JToolbar beinhaltet typischerweise eine Menge an Buttons und Zwischenräumen (Separators). Die JToolBar kann dabei verschoben werden, so dass diese an unterschiedlichen Stellen in der Applikation erscheint bzw. in einem neuen Fenster. Man sollte hier aber unbedingt das BorderLayout benutzen, bei dem neben dem zentralen Bereich (java.awt.BorderLayout.CENTER) nur die Toolbar in einer der vier Himmelsrichtungen (BorderLayout.NORTH, BorderLayout.WEST usw.) integriert wird. Hierdurch kann der Benutzer die Toolbar in eine der übrigen drei Seiten verschieben.

Möchte man die Toolbar nicht verschiebbar machen, erreicht man dies durch den Methodenaufruf

  setFloatable(false); 
Ein neues Feature seit Version [1.4]1.4 ist es, den Rahmen der Buttons wie bei Windows nur zu zeichnen, wenn die Maus darüber fährt. Die Aktivierung wird mittels

  setRollover(true);
durchgeführt. Bei älteren Java-Versionen kann dieser Effekt durch ein entsprechend modifizierter Button realisiert werden:

  JButton b = new JButton("Test");
  b.setBorderPainted(false);
  b.addMouseListener(new MouseAdapter () {
    public void mouseEntered(MouseEvent e) {
      ((AbstractButton) e.getSource ()).setBorderPainted(true);
    }
    public void mouseExited(MouseEvent e) {
      ((AbstractButton) e.getSource ()).setBorderPainted(false);
    }
  });

Beispiel

  JToolBar toolBar = new javax.swing.JToolBar("JToolBar");
  toolBar.add(new AbstractAction(
    "Neu", new ImageIcon(getClass().getResource("t1.gif"))) { 
         public void actionPerformed(ActionEvent e) {
         // Etwas Sinnvolles tun....
         } 
    });
  // ...
  toolBar.setRollover(true);


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.