2013-07-25 6 views
0

Java로 시작했는데 간단한 문제가 있습니다. JCheckBox가 선택되어 있는지 확인하고 싶습니다. 이를 위해 comboBox.isSelected()를 사용해야한다는 것을 알았지 만,이 메서드를 사용하려면 JCheckBox 객체에 대한 참조를 만들 수 없습니다. 여기 코드는 다음과 같습니다JRadioButton이 선택되어 있는지 확인하십시오.

import java.awt.BorderLayout; 

public class AgregarPlato extends JDialog { 

    private final JPanel contentPanel = new JPanel(); 

    public static void main(String[] args) { 
     try { 
      AgregarPlato dialog = new AgregarPlato(); 
      dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); 
      dialog.setVisible(true); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public AgregarPlato() { 
     setBounds(100, 100, 546, 459); 
     getContentPane().setLayout(new BorderLayout()); 
     contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     getContentPane().add(contentPanel, BorderLayout.CENTER); 
     contentPanel.setLayout(null); 

     JRadioButton radio = new JRadioButton("\u00BFDesea llevar Stock?"); 
     radio.setFont(new Font("Tahoma", Font.PLAIN, 11)); 
     radio.setBounds(91, 207, 168, 23); 

     contentPanel.add(radio); 

     { 
      JPanel buttonPane = new JPanel(); 
      buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); 
      getContentPane().add(buttonPane, BorderLayout.SOUTH); 
      { 
       JButton aceptarButton = new JButton("Aceptar"); 
       aceptarButton.addActionListener(new ActionListener() { 
        public void actionPerformed(ActionEvent arg0) { 

         if (radio.isSelected()) { 
          System.out.println("It doesnt work"); 
         } 

        } 

       }); 
       aceptarButton.setActionCommand("OK"); 
       buttonPane.add(aceptarButton); 
       getRootPane().setDefaultButton(aceptarButton); 
      } 
      { 
       JButton cancelarButton = new JButton("Cancelar"); 
       cancelarButton.addActionListener(new ActionListener() { 
        public void actionPerformed(ActionEvent e) { 
         setVisible(false); 
        } 
       }); 
       cancelarButton.setActionCommand("Cancel"); 
       buttonPane.add(cancelarButton); 
      } 
     } 
    } 
} 

답변

1

당신은 JRadioButton을 의미 - 응용 프로그램은 JCheckbox

이 컴파일러는 비 final 변수는 내부 클래스에 액세스 할 수 없습니다 포함되어 있지 않습니다. 변수 radio 또한 Swingfinal

final JRadioButton radio = new JRadioButton("\u00BFDesea llevar Stock?"); 

layout managers을 사용하도록 설계되었다합니다. 응용 프로그램에는 여전히 구성 요소가 거의 없으므로 하나를 사용하여 쉽게 전환 할 수 있어야합니다.

+0

질문의

final JRadioButton radio 그것은 작동합니다 :) –

+0

수정! 고마워요! 또한 항목이 SQL 쿼리의 결과 여야하는 ComboBox를 만들고 싶습니다. 예를 들어 SELECT 이름 FROM 범주에서 ComboBox는 해당 테이블의 모든 이름을 표시해야합니다. 죄송합니다, 프로그래밍 및 Java에서 새로운 입지입니다! 다시 한 번 감사드립니다. –

+0

새 소식 주제와 비슷합니다. – Reimeus

2

radio 변수 final 또는 클래스의 비공개 멤버로 선언하면 올바르게 작동합니다. 대신 JRadioButton radio