import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import javax.swing.border.BevelBorder;
@SuppressWarnings("serial")
public class ToolbarPanel extends JPanel {
private JToolBar toolBarA = new JToolBar();
private JToolBar toolBarB = new JToolBar();
public ToolbarPanel(int width, int height) {
setPreferredSize(new Dimension(width, height));
create(width, height);
}
private void create(int width, int height) {
for (char c = 'A'; c < 'Z'; c++) {
JButton b = new JButton("" + c);
toolBarA.add(b);
b.addMouseListener(getButtonMouse());
}
add(toolBarA);
add(toolBarB);
toolBarA.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
toolBarB.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
int off = 5;
int w = (width - 2 * off);
int h = (height - 3 * off) / 2;
toolBarA.setPreferredSize(new Dimension(w, h));
toolBarB.setPreferredSize(new Dimension(w, h));
}
private MouseListener getButtonMouse() {
return new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
Object src = e.getSource();
if (!(src instanceof JButton))
return;
JButton button = (JButton) src;
src = button.getParent();
if (src == toolBarA) {
toolBarA.remove(button);
toolBarB.add(button);
} else if (src == toolBarB) {
toolBarB.remove(button);
toolBarA.add(button);
}
toolBarB.revalidate();
toolBarA.revalidate();
}
};
}
}