2016-09-21 6 views
0

так что я JRadioButton, и их слушатели содержит так:активировать ActionListener из JRadioButton после JButton является нажмите

if(VotePresidentPanel.rbPres1.isSelected()){ 
       int[] incrementVote={1}; 
       for (int v : incrementVote){ 
        resultP1 = (pvotes[v - 1]+=1); 
       } 
       ResultPresidentPanel.lblResPres1.setText(Integer.toString(resultP1)); 
      } 

, но я хочу, чтобы слушатели моих JRadioButton, только функции после того как я нажал определенную JButton. Я попытался поставить слушателей jradiobutton внутри слушателя jbutton, но он все еще не работает. вот код того, что я упомянул, что я пытался делать:

if(e.getSource().equals(VoteButtonsPanel.btnVote)){ 
      if(VotePresidentPanel.rbPres1.isSelected()){ 
       int[] incrementVote={1}; 
       for (int v : incrementVote){ 
        resultP1 = (pvotes[v - 1]+=1); 
       } 
       ResultPresidentPanel.lblResPres1.setText(Integer.toString(resultP1)); 
      } 
      //...and other listeners for the other jradiobuttons 
} 

пожалуйста, помогите спасибо большое :)


я эти JRadioButton,

() Pres1 
() Pres2 
() Pres3 
() Pres4 

я хочу им быть по-прежнему кликабельны, поскольку это система голосования, но моя проблема - каждый раз, когда я нажимаю на переключатели, голоса будут увеличиваться, даже если я еще не нажал кнопку VOTE. Я хочу, чтобы голоса увеличивались, только если я нажал кнопку VOTE.

слушателей JRadioButton, являются, как это/функция приращения:

if(VotePresidentPanel.rbPres1.isSelected()){ 
        int[] incrementVote={1}; 
        for (int v : incrementVote){ 
         resultP1 = (pvotes[v - 1]+=1); 
        } 
        ResultPresidentPanel.lblResPres1.setText(Integer.toString(resultP1)); 
       } 

и я попытался положить их внутри блока моего VOTE слушателя, но по-прежнему не работает. спасибо за любую помощь :)

EDIT 2 это то, что я пытался базу из ответа copeg

 boolean enableJRadioButton = false; 
     if(e.getSource().equals(VoteButtonsPanel.btnVote)){ 
      enableJRadioButton=true; 
     } 
     if(VotePresidentPanel.rbPres1.isSelected()){ 
      if(enableJRadioButton==true){ 
       int[] incrementVote={1}; 
       for (int v : incrementVote){ 
        resultP1 = (pvotes[v - 1]+=1); 
       } 
       ResultPresidentPanel.lblResPres1.setText(Integer.toString(resultP1)); 
      } 
     } 
+0

'Я хочу, чтобы слушатели моих jradiobuttons функционировали только после того, как я нажал на определенную jbutto'. Отключите JRadioButton и включите, когда щелкнули кнопку« JButton ». 'но это не сработает'. Это помогает полностью объяснить то, что вы подразумеваете под' не работает', а также помогает опубликовать сообщение [mcve] – copeg

+0

@copeg. Я отредактировал свой вопрос. Надеюсь, теперь это понятно. но да, я попробую ваше предложение, и я дам вам знать, если он работает, спасибо вам большое :) – lels

+0

@copeg oh это не сработало. можете ли вы сказать мне, как это сделать? я сделал 'setEnabled (false)' radioobuttons, где я объявил их, а затем 'setEnabled (true)' их внутри блока 'if (e.getSource(). equals (VoteButtonsPanel.btnVote)) {}', но я могу 'Нажмите их больше. я отредактирую свой вопрос для дальнейших разъяснений hehehe :) – lels

ответ

2

, но я хочу, чтобы слушатели моих JRadioButton, только функции после того как я нажал определенный jbutton.

Если вы хотите иметь JRadioButton все еще включено, но не это ActionListener огнь можно использовать булев флаг, оцененный в JRadioButton ActionListener, инициализировать его false и установите true в JButton ActionListener

boolean enableJRadioButton = false; 
... 
final JRadioButton myRadioButton = new JRadioButton("Do Something"); 
myRadioButton.addActionListener(new ActionListener(){ 
    @Override 
    public void actionPerformed(ActionEvent e){ 
     if (enableJRadioButton){ 
      //do something 
     } 
    } 
}); 

myButton.addActionListener(new ActionListener(){ 
    @Override 
    public void actionPerformed(ActionEvent e){ 
     enableJRadioButton = true; 
     //do something else if necessary 
    } 
}); 

Если вы не возражаете, если JRadioButton включена, рассмотреть возможность включения/выключения JRadioButton сек только после JButton щелчка - например, в ActionListener добавлен в JButton.

+0

Я думаю, я сделал это неправильно:/или я просто понимаю это неправильно, но это не работает. вот что я пробовал 'boolean enableJRadioButton = false;' тогда для JButton 'if (e.getSource(). equals (VoteButtonsPanel.btnVote)) { \t \t \t enableJRadioButton = true; } 'И для моей JRadioButton' если (VotePresidentPanel.rbPres1.isSelected()) { \t \t \t если (enableJRadioButton == TRUE) { \t \t \t \t INT [] incrementVote = {1}; \t \t \t \t для (Int V: incrementVote) { \t \t \t \t \t resultP1 = ​​(pvotes [V - 1] + = 1); \t \t \t \t} \t \t \t \t ResultPresidentPanel.lblResPres1.setText (Integer.toString (resultP1)); \t \t \t} \t \t} ' – lels

+0

Попробовать Вам оригинальный вопрос - код размещен в комментарии форматах ужасно. – copeg

+0

i уже отредактировал это :) – lels

 Смежные вопросы

  • Нет связанных вопросов^_^