0
我不明白是什么问题。JComboBox不给索引
我有一个JFrame
,与JTextFields
和JComboBoxe
s。当我按下一个按钮时,它必须从JTextField
s中取值,并将它们传递给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);
您发布的代码看起来很合理,所以问题可能在代码中的其他地方。发布一个适当的[mcve]来展示问题并在论坛中发布此代码。这是一个框架,一个组合框和一个按钮创建一个简单的例子。当你点击按钮时,它将显示选定的索引。一旦你了解了正确的用法,你就可以调试你的真实应用程序,看看问题出在哪里。 – camickr
我试过类似于你的东西,但对我来说它的工作原理完全正常。我的代码:'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 @Override \t \t \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});' 记住的是,索引从0开始不为1 – XtremeBaumer