public void init(GameContainer container, StateBasedGame game) throws SlickException { indv = new Display(container); indv.setSendingGlobalEvents(false); Frame win1 = new Frame("State 1"); win1.setBounds(100, 200, 200, 50); Frame win2 = new Frame("Testing Window"); win2.setBounds(125, 225, 200, 100); win2.setResizable(false); Button button = new Button("Button"); button.setLocation(25, 10); button.pack(); win2.getContentPane().add(button); win1.setVisible(true); win2.setVisible(true); // add windows to the state's display indv.add(win1); indv.add(win2); // add windows to a list indvWindows.add(win1); indvWindows.add(win2); win1.grabFocus(); win2.grabFocus(); }
public void init(GameContainer container) throws SlickException { // Sui.setSkin(new WireframeSkin()); display = new Display(container); display.setSendingGlobalEvents(false); display.setFocusable(true); // setup method names Method[] m = Theme.class.getMethods(); Arrays.sort( m, new Comparator() { public int compare(Object o1, Object o2) { return ((Method) o1).getName().compareTo(((Method) o2).getName()); } }); ArrayList list = new ArrayList(COLORS); for (int i = 0; i < m.length; i++) { String nameStr = m[i].getName(); if (nameStr.indexOf("getName") == -1) list.add(nameStr); } methods = (String[]) list.toArray(new String[list.size()]); // dump names // for (int i=0;i<methods.length;i++) { // System.out.println("private color // "+Character.toLowerCase(methods[i].charAt(3))+methods[i].substring(4)+" ="); // } // dump methods // for (int i=0;i<methods.length;i++) { // String var = Character.toLowerCase(methods[i].charAt(3))+methods[i].substring(4); // System.out.println("public Color "+methods[i]+"() { return "+var+"; }"); // } class BorderLabel extends Label { public void renderComponent(GUIContext c, Graphics g) { super.renderComponent(c, g); g.setColor(Color.darkGray); g.draw(this.getAbsoluteBounds()); } }; float startx = 280; float starty = 70; Container parent = display; for (int i = 0; i < labels.length; i++) { methodNames[i] = new BorderLabel(); methodNames[i].setText(methods[i]); methodNames[i].setSize(155, 25); methodNames[i].setOpaque(true); methodNames[i].setLocation(startx, starty + i * (methodNames[i].getHeight() + 5)); parent.add(methodNames[i]); labels[i] = new BorderLabel(); labels[i].setOpaque(true); labels[i].setSize(65, 25); labels[i].setLocation( startx + methodNames[i].getWidth() + 5, starty + i * (labels[i].getHeight() + 5)); parent.add(labels[i]); } Container panel = new Container(); left = new Button("Previous"); left.pack(); left.setRequestFocusEnabled(false); left.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (currentIndex > 0) { currentIndex--; setTheme((Theme) themes.get(currentIndex)); updateButtons(); } } }); panel.add(left); right = new Button("Next"); right.pack(); right.setRequestFocusEnabled(false); right.setX(left.getWidth() + 5); right.setHeight(left.getHeight()); right.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (currentIndex < themes.size() - 1) { currentIndex++; setTheme((Theme) themes.get(currentIndex)); updateButtons(); } } }); panel.add(right); panel.setSize(right.getX() + right.getWidth(), left.getHeight()); panel.setLocationRelativeTo(display); panel.setY(starty - panel.getHeight() - 5); display.add(panel); nameLabel = new Label("No themes found."); nameLabel.pack(); nameLabel.setLocationRelativeTo(display); nameLabel.setY(panel.getY() - nameLabel.getHeight() - 5); display.add(nameLabel); final CheckBox box = new CheckBox("Show Demo Box"); demoBox = new DemoFrame(); demoBox.setLocation(50, 100); demoBox .getCloseButton() .addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { box.setSelected(false); } }); display.add(demoBox); box.pack(); box.setX(demoBox.getX()); box.setY(demoBox.getY() - box.getHeight() - 5); box.setSelected(true); box.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { demoBox.setVisible(box.isSelected()); } }); box.setRequestFocusEnabled(false); display.add(box); if (Sui.getSkin() instanceof SimpleSkin) { final CheckBox roundBox = new CheckBox("Round Rectangles"); roundBox.pack(); roundBox.setSelected(true); SimpleSkin.setRoundRectanglesEnabled(roundBox.isSelected()); roundBox.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { SimpleSkin.setRoundRectanglesEnabled(roundBox.isSelected()); } }); box.setWidth(Math.max(roundBox.getWidth(), box.getWidth())); roundBox.setWidth(Math.max(roundBox.getWidth(), box.getWidth())); roundBox.setLocation(box.getX(), box.getY() - roundBox.getHeight() - 5); roundBox.setRequestFocusEnabled(false); display.add(roundBox); } // load up the themes populateThemes(); if (!themes.isEmpty()) { setTheme((Theme) themes.get(0)); } updateButtons(); }
public void updateButtons() { left.setEnabled(currentIndex != 0 && !themes.isEmpty()); right.setEnabled(currentIndex < themes.size() - 1 && !themes.isEmpty()); }