1 package rero.gui.toolkit; 2 3 import javax.swing.*; 4 import javax.swing.event.*; 5 6 import javax.swing.plaf.*; 7 import javax.swing.plaf.basic.*; 8 9 import javax.swing.border.*; 10 import java.awt.*; 11 12 import rero.config.*; 13 14 import rero.gui.*; 15 16 public class MinimalTabUI extends TabbedPaneUI implements ChangeListener 17 { 18 public MinimalTabUI() 19 { 20 } 22 23 private static class MinimalLayout extends CardLayout 24 { 25 public void addLayoutComponent(Component c, Object constraints) 26 { 27 super.addLayoutComponent(c.hashCode() + "", c); 28 } 29 30 public void addLayoutComponent(String cons, Component c) 31 { 32 super.addLayoutComponent(c.hashCode() + "", c); 33 } 34 } 35 36 public Dimension getMinimumSize() { return null; } 37 public Dimension getMaximumSize() { return null; } 38 public Dimension getPreferredSize() { return null; } 39 40 42 public Rectangle getTabBounds(JTabbedPane pane, int index) 43 { 44 return new Rectangle(0, 0, 0, 0); 45 } 46 47 public int getTabRunCount(JTabbedPane pane) 48 { 49 return 0; 50 } 51 52 public int tabForCoordinate(JTabbedPane pane, int x, int y) 53 { 54 return 0; 55 } 56 57 public void installUI(JComponent c) 58 { 59 JTabbedPane temp = (JTabbedPane)c; 60 c.setLayout(new MinimalLayout()); 61 62 int size = ClientState.getClientState().getInteger("notabs.border", ClientDefaults.notabs_border); 63 64 c.setBorder(BorderFactory.createEmptyBorder(size, size, size, size)); 65 temp.addChangeListener(this); 66 } 67 68 public void stateChanged(ChangeEvent ev) 69 { 70 JTabbedPane temp = (JTabbedPane)ev.getSource(); 71 72 if (temp.getSelectedComponent() != null) 73 { 74 ((CardLayout)temp.getLayout()).show(temp, temp.getSelectedComponent().hashCode() + ""); 75 } 76 temp.revalidate(); 77 temp.repaint(); 78 } 79 } 80 81 82 | Popular Tags |