20 package net.sf.gridarta.gui.utils.tabbedpanel;
22 import java.util.IdentityHashMap;
24 import javax.swing.AbstractButton;
26 import org.jetbrains.annotations.NotNull;
27 import org.jetbrains.annotations.Nullable;
46 private final Map<AbstractButton, Tab>
tabs =
new IdentityHashMap<>();
55 buttonLists[location.ordinal()] = buttonList;
59 public void selectedButtonChanged(@Nullable
final AbstractButton prevSelectedButton, @Nullable
final AbstractButton selectedButton) {
60 final Tab prevTab = tabs.get(prevSelectedButton);
61 final Tab tab = tabs.get(selectedButton);
65 buttonListsListener.tabChanged(prevTab, tab);
82 final DoubleButtonList buttonList = buttonLists[tab.getLocation().ordinal()];
83 final AbstractButton button = tab.getButton();
84 buttonList.
addButton(button, tab.isAlternativeLocation());
85 tabs.put(button, tab);
99 if (tabs.get(tab.getButton()) == null) {
100 throw new IllegalArgumentException();
103 final DoubleButtonList oldButtonList = buttonLists[tab.getLocation().ordinal()];
105 final AbstractButton oldButton = tab.getButton();
106 oldButtonList.
removeButton(oldButton, tab.isAlternativeLocation());
107 oldButton.setSelected(
false);
108 tab.setLocation(location);
109 final AbstractButton newButton = tab.getButton();
110 newButtonList.
addButton(newButton, tab.isAlternativeLocation());
111 tabs.remove(oldButton);
112 tabs.put(newButton, tab);
118 final boolean alternativeLocation = !tab.isAlternativeLocation();
119 final DoubleButtonList buttonList = buttonLists[tab.getLocation().ordinal()];
120 final AbstractButton oldButton = tab.getButton();
121 buttonList.
removeButton(oldButton, tab.isAlternativeLocation());
122 oldButton.setSelected(
false);
123 tab.setAlternativeLocation(alternativeLocation);
124 final AbstractButton newButton = tab.getButton();
125 buttonList.
addButton(newButton, tab.isAlternativeLocation());
126 tabs.remove(oldButton);
127 tabs.put(newButton, tab);
143 final AbstractButton selectedButton = buttonList.
getSelectedButton(alternativeLocation);
144 if (selectedButton == null) {
148 final Tab tab = tabs.get(selectedButton);
Graphical User Interface of Gridarta.
A tab in a TabbedPanel component.
Base package of all Gridarta classes.