42 * <strong>Warning:</strong> 43 * Serialized objects of this class will not be compatible with 44 * future Swing releases. The current serialization support is appropriate 45 * for short term storage or RMI between applications running the same 46 * version of Swing. A future release of Swing will provide support for 47 * long term persistence. 48 * 49 * @author Scott Violet 50 */ 51 public class MotifOptionPaneUI extends BasicOptionPaneUI 52 { 53 /** 54 * Creates a new MotifOptionPaneUI instance. 55 */ 56 public static ComponentUI createUI(JComponent x) { 57 return new MotifOptionPaneUI(); 58 } 59 60 /** 61 * Creates and returns a Container containin the buttons. The buttons 62 * are created by calling <code>getButtons</code>. 63 */ 64 protected Container createButtonArea() { 65 Container b = super.createButtonArea(); 66 67 if(b != null && b.getLayout() instanceof ButtonAreaLayout) { 68 ((ButtonAreaLayout)b.getLayout()).setCentersChildren(false); 69 } 70 return b; 71 } 72 73 /** 74 * Returns null, CDE/Motif does not impose a minimum size. 75 */ 76 public Dimension getMinimumOptionPaneSize() { 77 return null; 78 } 79 80 @SuppressWarnings("serial") // anonymous class 81 protected Container createSeparator() { 82 return new JPanel() { 83 84 public Dimension getPreferredSize() { 85 return new Dimension(10, 2); 86 } 87 88 public void paint(Graphics g) { 89 int width = getWidth(); 90 g.setColor(Color.darkGray); 91 g.drawLine(0, 0, width, 0); 92 g.setColor(Color.white); 93 g.drawLine(0, 1, width, 1); 94 } 95 }; 96 } 97 98 /** 99 * Creates and adds a JLabel representing the icon returned from 100 * <code>getIcon</code> to <code>top</code>. This is messaged from 101 * <code>createMessageArea</code> 102 */ 103 protected void addIcon(Container top) { 104 /* Create the icon. */ 105 Icon sideIcon = getIcon(); 106 107 if (sideIcon != null) { 108 JLabel iconLabel = new JLabel(sideIcon); 109 110 iconLabel.setVerticalAlignment(SwingConstants.CENTER); 111 top.add(iconLabel, "West"); 112 } 113 } 114 115 } | 42 * <strong>Warning:</strong> 43 * Serialized objects of this class will not be compatible with 44 * future Swing releases. The current serialization support is appropriate 45 * for short term storage or RMI between applications running the same 46 * version of Swing. A future release of Swing will provide support for 47 * long term persistence. 48 * 49 * @author Scott Violet 50 */ 51 public class MotifOptionPaneUI extends BasicOptionPaneUI 52 { 53 /** 54 * Creates a new MotifOptionPaneUI instance. 55 */ 56 public static ComponentUI createUI(JComponent x) { 57 return new MotifOptionPaneUI(); 58 } 59 60 /** 61 * Creates and returns a Container containin the buttons. The buttons 62 * are created by calling {@code getButtons}. 63 */ 64 protected Container createButtonArea() { 65 Container b = super.createButtonArea(); 66 67 if(b != null && b.getLayout() instanceof ButtonAreaLayout) { 68 ((ButtonAreaLayout)b.getLayout()).setCentersChildren(false); 69 } 70 return b; 71 } 72 73 /** 74 * Returns null, CDE/Motif does not impose a minimum size. 75 */ 76 public Dimension getMinimumOptionPaneSize() { 77 return null; 78 } 79 80 @SuppressWarnings("serial") // anonymous class 81 protected Container createSeparator() { 82 return new JPanel() { 83 84 public Dimension getPreferredSize() { 85 return new Dimension(10, 2); 86 } 87 88 public void paint(Graphics g) { 89 int width = getWidth(); 90 g.setColor(Color.darkGray); 91 g.drawLine(0, 0, width, 0); 92 g.setColor(Color.white); 93 g.drawLine(0, 1, width, 1); 94 } 95 }; 96 } 97 98 /** 99 * Creates and adds a JLabel representing the icon returned from 100 * {@code getIcon} to {@code top}. This is messaged from 101 * {@code createMessageArea} 102 */ 103 protected void addIcon(Container top) { 104 /* Create the icon. */ 105 Icon sideIcon = getIcon(); 106 107 if (sideIcon != null) { 108 JLabel iconLabel = new JLabel(sideIcon); 109 110 iconLabel.setVerticalAlignment(SwingConstants.CENTER); 111 top.add(iconLabel, "West"); 112 } 113 } 114 115 } |