8.4.8 | JToolBar |
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 Version1.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); } });
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);