2 Stimmen

JToolBar Look & Feel in Swing

Ich entwickle eine Swing-basierte Anwendung, in der ich Folgendes hinzufügen möchte JToolBar mit Bildern in JButton aber es sieht nicht gut aus. JToolBar hat einige Punkte am Anfang.

Wie kann ich die Punkte wieder loswerden?

3voto

Adamski Punkte 52945

Zwei Dinge:

  1. Die "Punkte", die Sie beschreiben, sind wahrscheinlich darauf zurückzuführen, dass die JToolbar standardmäßig schwebend ist. Wenn Sie dies deaktivieren möchten, können Sie die Funktion setFloatable(false) .
  2. Hier ist eine Methode, die ich zum Dekorieren verwende JButton s, bevor sie zu JToolBars hinzugefügt werden (oder JPanel s, usw.):

decorateButton(AbstractButton)

public static void decorateButton(final AbstractButton button) {
    button.putClientProperty("hideActionText", Boolean.TRUE);
    button.setBorder(BorderFactory.createEmptyBorder());
    button.setBackground(null);
    button.setOpaque(true);
    button.setPreferredSize(BUTTON_SIZE);
    button.setMaximumSize(BUTTON_SIZE);
    button.setMinimumSize(BUTTON_SIZE);
    button.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseReleased(MouseEvent e) {
            button.setBackground(COLOR_BUTTON_MOUSEOVER);
        }

        @Override
        public void mousePressed(MouseEvent e) {
            button.setBackground(COLOR_BUTTON_PRESSED);
        }

        @Override
        public void mouseEntered(MouseEvent e) {
            button.setBorder(button.isEnabled() ? BORDER_BUTTON_MOUSEOVER_ENABLED : BORDER_BUTTON_MOUSEOVER_DISABLED);
            button.setBackground(COLOR_BUTTON_MOUSEOVER);
        }

        @Override
        public void mouseExited(MouseEvent e) {
            button.setBorder(BorderFactory.createEmptyBorder());
            button.setBackground(null);
        }
    });
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X