2016-06-05 19 views
0

Ich kann nicht herausfinden, wie mein Code zu sagen, wenn die Taste gedrückt wird. Ich wurde schlecht unterrichtet, nur FYI also jede Hilfe muss sehr detailliert sein. auch, ich bin neu auf der Website, wenn der Beitrag nicht korrekt formatiert ist, tut mir leid.Lesen, wenn eine Taste gedrückt wird Java

public static void main(String[] args) { 
    final JFrame frame = new JFrame("JSlider Demo"); 
    final double odd = 50; 
    final double bet = 1; 
    boolean auto = false; 
    double cash = 5.00; 
    int cash1 = 0; 
    JLabel jLabel1 = new JLabel("your cash: " + cash); 

    JButton b1 = new JButton("GO!"); 
    b1.setVerticalTextPosition(AbstractButton.CENTER); 
    b1.setHorizontalTextPosition(AbstractButton.LEADING); //aka LEFT, for left-to-right locales 
    b1.setMnemonic(KeyEvent.VK_D); 
    b1.setActionCommand("disable"); 

    // create odds slider 
    JSlider odds = new JSlider(JSlider.HORIZONTAL, 0, 100, 50); 
    odds.setMinorTickSpacing(5); 
    odds.setMajorTickSpacing(25); 
    odds.setPaintTicks(true); 
    odds.setPaintLabels(true); 
    odds.setLabelTable(odds.createStandardLabels(100)); 
    //Create the label table for the odds slider 
    Hashtable labelTable1 = new Hashtable(); 
    labelTable1.put(new Integer(50), new JLabel("Odds")); 
    labelTable1.put(new Integer(0), new JLabel("0")); 
    labelTable1.put(new Integer(100), new JLabel("100")); 
    odds.setLabelTable(labelTable1); 
    odds.setPaintLabels(true); 

    // create auto bet count slider 
    JSlider count = new JSlider(JSlider.HORIZONTAL, 1, 101, 1); 
    count.setMinorTickSpacing(5); 
    count.setMajorTickSpacing(20); 
    count.setPaintTicks(true); 
    count.setPaintLabels(true); 
    count.setLabelTable(count.createStandardLabels(50)); 
    //Create the label table for auto bet count 
    Hashtable labelTable3 = new Hashtable(); 
    labelTable3.put(new Integer(50), new JLabel("Auto-bet count")); 
    labelTable3.put(new Integer(1), new JLabel("1")); 
    labelTable3.put(new Integer(101), new JLabel("100")); 
    count.setLabelTable(labelTable3); 
    count.setPaintLabels(true); 

    // create auto bet speed slider 
    JSlider speed = new JSlider(JSlider.HORIZONTAL, 0, 4, 0); 
    speed.setMinorTickSpacing(20); 
    speed.setMajorTickSpacing(1); 
    speed.setPaintTicks(true); 
    speed.setPaintLabels(true); 
    speed.setLabelTable(speed.createStandardLabels(50)); 
    //Create the label table for speed 
    Hashtable labelTable4 = new Hashtable(); 
    labelTable4.put(new Integer(2), new JLabel("Auto-bet speed")); 
    labelTable4.put(new Integer(0), new JLabel("1(BPS)")); 
    labelTable4.put(new Integer(4), new JLabel("5(BPS)")); 
    speed.setLabelTable(labelTable4); 
    speed.setPaintLabels(true); 

    //sets the GUI 
    frame.setLayout(new FlowLayout()); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setSize(650, 200); 
    frame.getContentPane().add(odds); 
    frame.getContentPane().add(count); 
    frame.getContentPane().add(speed); 
    frame.getContentPane().add(b1); 
    frame.getContentPane().add(jLabel1); 
    frame.setVisible(true); 
} 

Antwort

0

Sie können Ihre Klasse, in der Ihre Hauptmethode existiert, implementieren Action machen und dann die actionPerformed-Methode überschreiben. Zum Beispiel:

public class A implements ActionListener {  

    JButton b1 = new JButton("Hello"); 
    b1.addActionListener(this); 

    public void actionPerformed(ActionEvent e) { 
     if (e.getSource == b1) { 
     // do stuff when button b1 is clicked. 
     } 
    } 
... 
} 

Sie können dies für alle Schaltflächen in der Klasse tun. Ich bin mir nicht sicher, welche Art, dies zu tun, ist jedoch empfohlen, dachte ich würde es trotzdem hinzufügen. :)

+0

das Problem ist, dass es nicht lassen Sie mich die Aktion Listener in der Hauptmethode, weil die Hauptmethode ist statisch –

+0

@HankHasemeier Wenn Sie möchten, könnten Sie Ihren vollständigen Code bei Pastebin.com und Link hier, dann ich Ich würde gerne helfen, das zu lösen. :) –

Verwandte Themen