2015-06-11 28 views
0

我正在嘗試製作一種簡單的足球模擬器。這是我看完教程後創建的代碼,我知道它很糟糕。我所要做的就是爲球隊增加一個價值,比如1分給最好的球隊,10分給最差的球隊,當我點擊模擬一個彈出窗口會顯示出告訴我哪支球隊會贏得球隊的價值。但我不知道如何去做。多個RadioButtons模擬器

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.border.TitledBorder; 



public class sim extends JPanel { 

    public sim() { 
    // JFrame constructor 
     super(true); 

    JRadioButton chelsea, arsenal, chelsea2, arsenal2; 

    this.setLayout(new GridLayout(3,0)); 

    ButtonGroup group = new ButtonGroup(); 
    ButtonGroup group2 = new ButtonGroup(); 

    // takes image and saves it the the variable 
    Icon a = new ImageIcon(getClass().getResource("a.PNG")); 
    Icon c = new ImageIcon(getClass().getResource("c.JPG")); 


    chelsea = new JRadioButton("Chelsea",c); 
    chelsea.setHorizontalTextPosition(AbstractButton.CENTER); 
    chelsea.setVerticalTextPosition(AbstractButton.BOTTOM); 

    arsenal = new JRadioButton("Arsenal",a); 
    arsenal.setHorizontalTextPosition(AbstractButton.CENTER); 
    arsenal.setVerticalTextPosition(AbstractButton.BOTTOM); 

    group.add(chelsea); 
    group.add(arsenal); 

    JLabel label = new JLabel(""); 
    TitledBorder titled = new TitledBorder("Team 1"); 
    label.setBorder(titled); 

    chelsea.setBorder(titled); 
    arsenal.setBorder(titled); 

    JButton button = new JButton("Simulate"); 
    button.setHorizontalAlignment(JButton.CENTER); 
    add(button, BorderLayout.CENTER); 

    chelsea2 = new JRadioButton("Chelsea",c); 
    chelsea2.setHorizontalTextPosition(AbstractButton.CENTER); 
    chelsea2.setVerticalTextPosition(AbstractButton.BOTTOM); 

    arsenal2 = new JRadioButton("Arsenal",a); 
    arsenal2.setHorizontalTextPosition(AbstractButton.CENTER); 
    arsenal2.setVerticalTextPosition(AbstractButton.BOTTOM); 

    group2.add(chelsea2); 
    group2.add(arsenal2); 

    JLabel label2 = new JLabel(""); 
    TitledBorder titled2 = new TitledBorder("Team 2"); 
    label2.setBorder(titled2); 

    chelsea2.setBorder(titled); 
    arsenal2.setBorder(titled); 

    add(label); 
    add(chelsea); 
    add(arsenal); 

    add(button); 

    add(chelsea2); 
    add(arsenal2); 

    HandlerClass handler = new HandlerClass(); 
    chelsea.addActionListener(handler); 
    } 

    private class HandlerClass implements ActionListener 
    { 
     public void actionPerformed(ActionEvent e) 
     { 

      //JOptionPane.showMessageDialog(null, String.format("%s", e.getActionCommand())); 

     } 
    } 

    public static void main(String[] args) { 
    JFrame frame = new JFrame("Final"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setSize(1920, 1080); 
    frame.setContentPane(new sim()); 
    frame.setVisible(true); 
    } 
} 

回答

0

ActionListener放入sim類。

public void actionPerformed(ActionEvent e) 
    { 
     JButton clicked = (JButton)e.getSource(); 
     if(clicked == button) 
     { 
      JOptionPane.showMessageDialog(null, "this team will win"); 
     } 
    } 

您需要的代碼量法令,需要你不需要向我們展示所有raidio只是量

+0

確定我這樣做,但我怎麼可以點擊一個團隊在一組,在另一個團隊然後模擬按鈕,然後顯示結果? – Cyp

+0

模擬結果?會發生什麼?你會如何模擬結果? 'X> y'? – bokhyfg

+0

當兩隊被挑選出來時,我會如何點擊SIM卡按鈕,打印出更好的價值。 – Cyp