2016-12-15 14 views
0

何が問題なのか分かりません。JComboBoxはインデックスを表示しません

私は、JTextFieldsJComboBoxeで、JFrameを持っています。ボタンを押すと、JTextFieldから値を取得し、JComboBoxで選択されているメソッドの1つに渡す必要がありますが、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"); keyPressed \t \t t1.addKeyListener(新しいKeyAdapter(){ \t \t \t @Override \t \t \t公共ボイド(たKeyEvent e)の{ \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}を作っています。お待ちしています)

関連する問題