Java думаю, радио-кнопка всегда выбрана - PullRequest
0 голосов
/ 31 марта 2019

У меня есть программа, которая должна отображать цену 1,50 * количество переключателей, за исключением того, что моя программа не распознает включение переключателя, поэтому не отображает 1,50.

import java.awt.event.*;
import javax.swing.*;
/**
 *
 * @author silve
 */
public class Page3 extends javax.swing.JFrame {

    /**
     * Creates new form Page3
     */
    public Page3() {
        initComponents();


      double Checkout1 = RadioBtn();

        double Lj = Checkout1 * 1.50;

        String LM = String.valueOf(Lj);

        ToppingsPriceL.setText((LM) + "0");  


    }
public double RadioBtn() {
    double Checkout = 0;



   if(GreenOlivesBtn.isSelected()) {
        Checkout++; 
    }

   return Checkout;



}

Ответы [ 2 ]

2 голосов
/ 31 марта 2019

Ваша основная проблема в том, что вы вызываете RadioBtn() при создании графического интерфейса, когда почти гарантированно не будет выбран.Для того, чтобы этот код работал, метод должен вызываться в каком-то слушателе, возможно, ActionListener, поскольку у пользователя должна быть возможность изменить состояние переключателя, а затем GUI реагирует на это.

Кроме того, вы захотите изучить и использовать Соглашения об именах Java .Имена переменных должны начинаться со строчной буквы, а имена классов - с заглавной.Также вам следует избегать использования тривиальных имен переменных, таких как b или s, если только они не используются для тривиальных целей, таких как индекс цикла for.Вместо этого используйте имена, которые имеют некоторый смысл, чтобы ваш код стал комментировать.

0 голосов
/ 31 марта 2019

Вы должны создать JRadioButton и поместить его в GroupButton.Пример.

JRadioButton yesButton   = new JRadioButton("Yes"  , true);
JRadioButton noButton    = new JRadioButton("No"   , false);
JRadioButton maybeButton = new JRadioButton("Maybe", false);

ButtonGroup bgroup = new ButtonGroup();
bgroup.add(yesButton);
bgroup.add(noButton);
bgroup.add(maybeButton);

JPanel radioPanel = new JPanel();
radioPanel.setLayout(new GridLayout(3, 1));
radioPanel.add(yesButton);
radioPanel.add(noButton);
radioPanel.add(maybeButton);

radioPanel.setBorder(BorderFactory.createTitledBorder(
           BorderFactory.createEtchedBorder(), "Married?"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...