Ich kann nicht verstehen, was los ist.JComboBox gibt nicht den Index
Ich habe eine JFrame
, mit JTextFields
und JComboBoxe
s. Wenn ich einen Knopf drücke, muss er die Werte von JTextField
s nehmen und sie an eine der Methoden übergeben, die im JComboBox
gewählt wird, aber ich kann den Index der Einzelteile innerhalb JComboBox
nicht erhalten.
Hier ist mein Code:
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, "Введите корректные данные");
}
}
}
Es ist falsch, in:
Integer item = (Integer)ras.getSelectedIndex();
JOptionPane.showMessageDialog(null, item);
Der Code, den Sie geschrieben haben, sieht vernünftig aus, so dass das Problem wahrscheinlich woanders in Ihrem Code ist. Poste ein korrektes [mcve], das das Problem demonstriert und poste diesen Code im Forum. Das ist ein einfaches Beispiel mit einem Rahmen, einem Kombinationsfeld und einer Schaltfläche. Wenn Sie auf die Schaltfläche klicken, wird der ausgewählte Index angezeigt. Sobald Sie die richtige Verwendung verstanden haben, debuggen Sie Ihre reale Anwendung, um zu sehen, wo das Problem liegt. – camickr
Ich habe etwas ähnliches versucht, aber für mich funktioniert es völlig in Ordnung. Mein Code: 'JComboBox t1 = new JComboBox(); \t \t t1.addItem ("Test"); \t \t t1.addItem ("tsds"); \t \t t1.addItem ("tesadfds"); \t \t t1.addKeyListener (neu KeyAdapter() { \t \t \t @Override \t \t \t public void keyPressed (KeyEvent e) { \t \t \t \t if (e.getKeyCode() == KeyEvent.VK_ENTER) { \t \t \t \t \t item = Integer (Ganzzahl) t1.getSelectedIndex(); \t \t \t \t \t JOptionPane.showMessageD ialog (null, Artikel); \t \t \t \t} \t \t \t} \t \t}); ' erinnern, dass der Index bei 0 beginnt nicht bei 1 – XtremeBaumer