Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding vertical separators in JToolBar

I have create a GUI using Java Swing (Windows Builder Pro) for a personal project and it has a JToolBar. I have added separators between the buttons in the tool bar.

JButton btnSave = new JButton("Save");
    btnSave.setToolTipText("Save");
    btnSave.setMnemonic('S');
    btnSave.setIcon(new ImageIcon(Main.class.getResource("/org/dbhaskaran/resources/Save32.png")));
    toolBar.add(btnSave);
    toolBar.add(new JSeparator(SwingConstants.VERTICAL));

    JButton btnDesign = new JButton("Design");
    btnDesign.setIcon(new ImageIcon(Main.class.getResource("/org/dbhaskaran/resources/wizard32.png")));
    toolBar.add(btnDesign);
    toolBar.add(new JSeparator(SwingConstants.VERTICAL));
  1. I don't understand why my JButtons are getting aligned to the right after adding the separator? And how do I fix it?
  2. When I click on one of the buttons on the tool bar, it leaves behind an ugly border - is there any way to get rid of it? Please see screenshot below:

enter image description here

like image 230
Deepak B Avatar asked Sep 01 '26 06:09

Deepak B


2 Answers

Figured out the answer to my first question:

Replace

toolBar.add(new JSeparator(SwingConstants.VERTICAL));

With

toolBar.addSeparator();

Now all the Icons in the tool bar are tightly packed. Only need to figure out if there is a way to get rid of the ugly button border that is left behind on the most recently used Jbutton in the JToolBar.

like image 67
Deepak B Avatar answered Sep 02 '26 23:09

Deepak B


Only need to figure out if there is a way to get rid of the ugly button border that is left behind on the most recently used Jbutton in the JToolBar.

button.setFocusPainted(false)

repeat for all JButtons

like image 32
Michael Dunn Avatar answered Sep 02 '26 23:09

Michael Dunn