private JPanel createButton(String num, String desc, boolean enabled) { JPanel pane = new JPanel(new FlowLayout(FlowLayout.LEFT, 8, 0)); pane.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED)); JButton btn = new JButton("Tutorial" + num); btn.setPreferredSize(new Dimension(120, 25)); btn.addActionListener(this); btn.setEnabled(enabled); btn.setFont(new Font("Verdana", Font.BOLD, 12)); JLabel label = new JLabel(desc); label.setFont(new Font("Verdana", Font.PLAIN, 11)); pane.add(btn); pane.add(label); return pane; }
public Launcher() { super("Launch Tutorial Example"); JPanel contentPane = new JPanel(new BorderLayout()); JLabel label = new JLabel("GTGE Tutorial Example", JLabel.CENTER); label.setFont(new Font("Verdana", Font.PLAIN, 30)); contentPane.add(label, BorderLayout.NORTH); JPanel pane = new JPanel(new GridLayout(0, 1)); // Tutorial 4 pane.add(createButton("4", "GTGE Game Skeleton", false)); // Tutorial 5 pane.add(createButton("5_1", "Empty Game in Windowed Mode")); pane.add(createButton("5_2", "Empty Game in Fullscreen Mode")); pane.add( createButton( "5_3", "Empty Game in Applet Mode (the game is embedded in Tutorial5_3.html)", false)); // Tutorial 6 pane.add(createButton("6", "Show all GTGE game engines basic usage")); // Tutorial 7 pane.add(createButton("7_1", "Sprite")); pane.add(createButton("7_2", "Sprite in action")); pane.add(createButton("7_3", "Controlling sprite behaviour using Timer class")); // Tutorial 8 pane.add(createButton("8_1", "Background")); pane.add(createButton("8_2", "Various background types")); pane.add(createButton("8_3", "Background view port")); // Tutorial 9 pane.add(createButton("9_1", "Grouping sprites")); pane.add(createButton("9_2", "Removing sprite from group")); // Tutorial 10 pane.add(createButton("10", "Collision in game")); // Tutorial 11 pane.add(createButton("11", "Playfield for automate the game")); contentPane.add(pane, BorderLayout.CENTER); setContentPane(contentPane); pack(); setResizable(false); setDefaultCloseOperation(EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); }