import java.awt.event.*; import javax.swing.*; import java.awt.*; public class ZahlenratenDesktop extends JFrame implements ActionListener { private JLabel label; private JTextField textField; private JButton button; private JProgressBar progressBar; private int zufallsZahl; private int anzahlVersuche; public ZahlenratenDesktop (String title) { super (title); try { //UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel"); UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); //UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception e) { e.printStackTrace(); } label = new JLabel ("Bitte raten Sie eine Zahl zwischen 1 und 100"); textField = new JTextField (5); button = new JButton ("O.K."); progressBar = new JProgressBar (JProgressBar.HORIZONTAL, 0, 10); progressBar.setStringPainted (true); progressBar.setString("Los gehts!"); button.addActionListener (this); Container container = getContentPane(); JPanel panel1 = new JPanel (); panel1.add (label); container.add (panel1, BorderLayout.NORTH); JPanel panel2 = new JPanel(); FlowLayout layout2 = (FlowLayout)panel2.getLayout(); layout2.setVgap (15); panel2.add (textField); panel2.add (button); container.add (panel2, BorderLayout.CENTER); container.add (progressBar, BorderLayout.SOUTH); zufallsZahl = ((int)(Math.random()*100)); anzahlVersuche = 0; System.out.println(zufallsZahl); } public void actionPerformed(ActionEvent e) { String eingabe = textField.getText(); System.out.println(eingabe); try { int zahl = Integer.parseInt(eingabe); anzahlVersuche++; progressBar.setString ("Anzahl Versuche: "+ anzahlVersuche); if (zahl != zufallsZahl) { if (anzahlVersuche == 10) { label.setText ("Game over!"); disableGUI(); } else { if (zahl < zufallsZahl) { label.setText("Die Zahl war zu klein"); } if (zahl > zufallsZahl) { label.setText("Die Zahl war zu gross"); } } } else { label.setText ("Richtig die Zahl ist: " + zahl); disableGUI (); } } catch (NumberFormatException nfE) { label.setText("Bitte eine Zahl eingeben"); } textField.setText(""); textField.requestFocus(); progressBar.setValue(anzahlVersuche); } private void disableGUI () { textField.setEnabled (false); button.setEnabled (false); } public static void main (String args[]) { ZahlenratenDesktop zrd = new ZahlenratenDesktop("Zahlenraten"); zrd.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); zrd.pack(); zrd.setVisible(true); } }