46 import javax.swing.border.TitledBorder; 47 import javax.swing.event.ChangeEvent; 48 import javax.swing.event.ChangeListener; 49 50 51 /** 52 * Global Controls panel for changing graphic attributes of 53 * the demo surface. 54 */ 55 @SuppressWarnings("serial") 56 public class GlobalControls extends JPanel implements ItemListener, 57 ChangeListener { 58 private final DemoInstVarsAccessor demoInstVars; 59 public static final String[] screenNames = { 60 "Auto Screen", "On Screen", "Off Screen", 61 "INT_xRGB", "INT_ARGB", "INT_ARGB_PRE", "INT_BGR", 62 "3BYTE_BGR", "4BYTE_ABGR", "4BYTE_ABGR_PRE", "USHORT_565_RGB", 63 "USHORT_x555_RGB", "BYTE_GRAY", "USHORT_GRAY", 64 "BYTE_BINARY", "BYTE_INDEXED", "BYTE_BINARY 2 bit", "BYTE_BINARY 4 bit", 65 "INT_RGBx", "USHORT_555x_RGB" }; 66 public final JComboBox screenCombo; 67 public TextureChooser texturechooser; 68 public JCheckBox aliasCB, renderCB, toolBarCB; 69 public JCheckBox compositeCB, textureCB; 70 public JSlider slider; 71 public Object obj; 72 private Font font = new Font(Font.SERIF, Font.PLAIN, 12); 73 74 @SuppressWarnings("LeakingThisInConstructor") 75 public GlobalControls(DemoInstVarsAccessor demoInstVars) { 76 this.demoInstVars = demoInstVars; 77 78 setLayout(new GridBagLayout()); 79 setBorder(new TitledBorder(new EtchedBorder(), "Global Controls")); 80 81 aliasCB = createCheckBox("Anti-Aliasing", true, 0); 82 renderCB = createCheckBox("Rendering Quality", false, 1); 83 textureCB = createCheckBox("Texture", false, 2); 84 compositeCB = createCheckBox("AlphaComposite", false, 3); 85 86 screenCombo = new JComboBox(); 87 screenCombo.setPreferredSize(new Dimension(120, 18)); 88 screenCombo.setLightWeightPopupEnabled(true); 89 screenCombo.setFont(font); 90 for (int i = 0; i < screenNames.length; i++) { 91 screenCombo.addItem(screenNames[i]); 92 } 93 screenCombo.addItemListener(this); 94 J2Ddemo.addToGridBag(this, screenCombo, 0, 4, 1, 1, 0.0, 0.0); 95 96 toolBarCB = createCheckBox("Tools", false, 5); 97 98 slider = new JSlider(SwingConstants.HORIZONTAL, 0, 200, 30); 99 slider.addChangeListener(this); 100 TitledBorder tb = new TitledBorder(new EtchedBorder()); 101 tb.setTitleFont(font); 102 tb.setTitle("Anim delay = 30 ms"); 103 slider.setBorder(tb); 104 slider.setMinimumSize(new Dimension(80, 46)); 105 J2Ddemo.addToGridBag(this, slider, 0, 6, 1, 1, 1.0, 1.0); 106 | 46 import javax.swing.border.TitledBorder; 47 import javax.swing.event.ChangeEvent; 48 import javax.swing.event.ChangeListener; 49 50 51 /** 52 * Global Controls panel for changing graphic attributes of 53 * the demo surface. 54 */ 55 @SuppressWarnings("serial") 56 public class GlobalControls extends JPanel implements ItemListener, 57 ChangeListener { 58 private final DemoInstVarsAccessor demoInstVars; 59 public static final String[] screenNames = { 60 "Auto Screen", "On Screen", "Off Screen", 61 "INT_xRGB", "INT_ARGB", "INT_ARGB_PRE", "INT_BGR", 62 "3BYTE_BGR", "4BYTE_ABGR", "4BYTE_ABGR_PRE", "USHORT_565_RGB", 63 "USHORT_x555_RGB", "BYTE_GRAY", "USHORT_GRAY", 64 "BYTE_BINARY", "BYTE_INDEXED", "BYTE_BINARY 2 bit", "BYTE_BINARY 4 bit", 65 "INT_RGBx", "USHORT_555x_RGB" }; 66 public final JComboBox<String> screenCombo; 67 public TextureChooser texturechooser; 68 public JCheckBox aliasCB, renderCB, toolBarCB; 69 public JCheckBox compositeCB, textureCB; 70 public JSlider slider; 71 public Object obj; 72 private Font font = new Font(Font.SERIF, Font.PLAIN, 12); 73 74 @SuppressWarnings("LeakingThisInConstructor") 75 public GlobalControls(DemoInstVarsAccessor demoInstVars) { 76 this.demoInstVars = demoInstVars; 77 78 setLayout(new GridBagLayout()); 79 setBorder(new TitledBorder(new EtchedBorder(), "Global Controls")); 80 81 aliasCB = createCheckBox("Anti-Aliasing", true, 0); 82 renderCB = createCheckBox("Rendering Quality", false, 1); 83 textureCB = createCheckBox("Texture", false, 2); 84 compositeCB = createCheckBox("AlphaComposite", false, 3); 85 86 screenCombo = new JComboBox<>(); 87 screenCombo.setPreferredSize(new Dimension(120, 18)); 88 screenCombo.setLightWeightPopupEnabled(true); 89 screenCombo.setFont(font); 90 for (int i = 0; i < screenNames.length; i++) { 91 screenCombo.addItem(screenNames[i]); 92 } 93 screenCombo.addItemListener(this); 94 J2Ddemo.addToGridBag(this, screenCombo, 0, 4, 1, 1, 0.0, 0.0); 95 96 toolBarCB = createCheckBox("Tools", false, 5); 97 98 slider = new JSlider(SwingConstants.HORIZONTAL, 0, 200, 30); 99 slider.addChangeListener(this); 100 TitledBorder tb = new TitledBorder(new EtchedBorder()); 101 tb.setTitleFont(font); 102 tb.setTitle("Anim delay = 30 ms"); 103 slider.setBorder(tb); 104 slider.setMinimumSize(new Dimension(80, 46)); 105 J2Ddemo.addToGridBag(this, slider, 0, 6, 1, 1, 1.0, 1.0); 106 |