2016-12-15 4 views
0

무엇이 잘못되었는지 이해할 수 없습니다.JComboBox가 색인을 제공하지 않습니다.

나는 JTextFieldsJComboBoxe과 함께 JFrame입니다. 버튼을 누를 때, JTextField에서 값을 가져 와서 JComboBox에서 선택한 방법 중 하나로 전달해야하지만 JComboBox 내의 항목 색인을 가져올 수 없습니다.

public class eHandler implements ActionListener { 

    public void actionPerformed(ActionEvent e) { 

     try { 

      if (e.getSource() == esc) { 
       bx.setText(null); 
       by.setText(null); 
       bt0.setText(null); 
       setVisible(false); 
       window window = new window("Расчет напряжений"); 
       window.setVisible(true); 
       window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       window.setSize(600, 650); 
      } 
      if (e.getSource() == count) { 
       double x = Double.parseDouble(bx.getText()); 
       double y = Double.parseDouble(by.getText()); 
       double t0 = Double.parseDouble(bt0.getText()); 


       Integer item = (Integer)ras.getSelectedIndex(); 
       JOptionPane.showMessageDialog(null, item); 


         if (item == 0) { 
          double tens = linear(x, y, t0); 
          ltr.setText("Напряжение на данном периоде: " + tens + " Мпа"); 
         } 
         if (item == 1) { 
          double tens = squard(x, y, t0); 
          ltr.setText("Напряжение на данном периоде: " + tens + " Мпа"); 
         } 

        } 

      }//try 
     catch(Exception ex){ 
       JOptionPane.showMessageDialog(null, "Введите корректные данные"); 
      } 
     } 
} 

그것은 잘못이다 : 답변

Integer item = (Integer)ras.getSelectedIndex(); 
JOptionPane.showMessageDialog(null, item); 
+4

게시 된 코드가 적당하여 코드에 문제가있는 것 같습니다. 문제를 나타내는 적절한 [mcve]를 게시하고이 코드를 포럼에 게시하십시오. 즉, 프레임, 콤보 상자 및 버튼이있는 간단한 예제를 만듭니다. 버튼을 클릭하면 선택한 색인이 표시됩니다. 올바른 사용법을 이해하면 실제 응용 프로그램을 디버그하여 문제가있는 곳을 확인하십시오. – camickr

+0

나는 당신과 비슷한 것을 시도해 봤지만 나를 위해 그것은 완전히 잘 작동한다. 내 코드 :'JComboBox t1 = new JComboBox(); \t \t t1.addItem ("test"); \t \t t1.addItem ("tsds"); \t \t t1.addItem ("tesadfds"); \t \t t1.addKeyListener (새 KeyAdapter() { \t \t \t \t \t @Override \t 공개 무효의 keyPressed (KeyEvent를 전자) { \t \t \t \t 경우 (e.getKeyCode() == KeyEvent.VK_ENTER) { \t \t \t \t \t 정수 항목 = (정수) t1.getSelectedIndex(); \t \t \t \t \t JOptionPane.showMessageD ialog (null, item); \t \t \t \t} \t \t \t} \t \t});' 인덱스 1에 있지 0에서 시작하는 것이, 기억 – XtremeBaumer

답변

0

감사

여기 내 코드입니다. 하지만 다른 {Listener}의 {ComboBox}에 {Listener}를 사용하려고 시도하는 것은 잘못되었습니다. {JComboBox}에 대한 특별한 {Listener}를 만들었습니다. 안부 인사))