2016-10-25 2 views
0

Я хочу сделать простой калькулятор, используя текстовые поля и переключатели. У меня уже есть 3 текстовых поля и кнопка «вычислять» с работой прослушивателя действий. Но теперь я хочу добавить 3 новых переключателя сгруппированы с такими значениями, как 1, 10 и 1000, в качестве множителей, исключающих друг друга (я хочу, чтобы они умножили конечный результат, но я хочу использовать только JButton как действие, а не радио кнопки).Как назначить числовые значения JRadiobuttons в Java и использовать их как множители?

Соответствующая часть кода выглядит следующим образом:

JButton btnNewButton = new JButton("calculate!"); 
btnNewButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent arg0) { 
     double x, y, z, result; 

     x= Double.parseDouble(textField.getText()); 
     y= Double.parseDouble(textField_1.getText()); 
     z= Double.parseDouble(textField_2.getText()); 
     result = x * y * z; 

     textField_3.setText(Double.toString(your result is)); 
    } 
}); 

ответ

2

Вы можете использовать JRadioButton, с ButtonGroup, как:

final ButtonGroup group = new ButtonGroup(); 

final JRadioButton btn1 = new JRadioButton("1"); 
final JRadioButton btn10 = new JRadioButton("10"); 
final JRadioButton btn1000 = new JRadioButton("1000"); 
group.add(btn1); 
group.add(btn10); 
group.add(btn1000); 

... 

     public void actionPerformed(ActionEvent arg0) { 
      double x, y, z, result; 

       x= Double.parseDouble(textField.getText()); 
       y= Double.parseDouble(textField_1.getText()); 
       z= Double.parseDouble(textField_2.getText()); 
       result = x * y * z; 
       if (btn10.isSelected()) result *= 10; 
       if (btn1000.isSelected()) result *= 1000; 

       textField_3.setText(Double.toString(result)); 
     } 
+0

Спасибо за ваше ценное предложение! –