0
何が問題なのか分かりません。JComboBoxはインデックスを表示しません
私は、JTextFields
とJComboBoxe
で、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);
あなたが投稿したコードは妥当と思われますので、問題はおそらくあなたのコードのどこかにあります。問題を示す適切な[mcve]を投稿し、このコードをフォーラムに投稿してください。これは、フレーム、コンボボックス、およびボタンを持つ簡単な例を作成します。ボタンをクリックすると、選択したインデックスが表示されます。適切な使い方を理解したら、実際のアプリケーションをデバッグして、問題のある場所を確認します。 – camickr
私はあなたに似た何かを試してみましたが、私にとってはまったく問題ありません。私のコード: '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