Programm nicht geschlossen, aber wenn ich auf meine Checkbox klicke, bekomme ich eine Ausnahme wie diese; "AWT-EventQueue-0" ClassCastException: JPanel kann nicht umgewandelt werden MyJTestPanel
meiner Klasse ist hier und es ist, erstreckt sich von JPanel, meine Klasse hier ist und es erstreckt sich von JPanel, meine Klasse hier ist und es erstreckt sich von JPanel, meine Klasse hier ist, und es wird sich von JPanel
public class MyJTestPanel extends JPanel {
private JCheckBox cboxInfo;
private JLabel lblResult;
private JButton btnAgain;
public MyJTestPanel(String testName, String testContext){
setLayout(new MigLayout());
setMaximumSize(new Dimension(400, 30));
setName(testName);
cboxInfo = new JCheckBox(testContext);
add(cboxInfo, "gapright 10, height 30, width 250, cell 0 0");
lblResult = new JLabel();
lblResult = new JLabel();
lblResult.setBackground(Color.RED);
lblResult.setOpaque(true);
add(lblResult, "gapright 10, height 30, width 30, cell 1 0");
btnAgain = new JButton("Test again");
btnAgain.setVisible(false);
add(btnAgain,"height 30, width 80, cell 2 0");
}
public JCheckBox getCboxInfo() {
return cboxInfo;
}
public JLabel getLblResult() {
return lblResult;
}
public JButton getBtnAgain() {
return btnAgain;
}
}
und mein clicklistener ist hier
cboxSelectAll.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
boolean isChecked = ((JCheckBox) e.getItem()).isSelected();
for (int i = 0; i < getCenterPanel().getComponents().length; i++) {
((MyJTestPanel) getCenterPanel().getComponents()[i]).getCboxInfo().setSelected(isChecked);//exception is here...
}
}
});
gibt es eine Idee für diese Ausnahme?
Ist 'MyJTestPanel' eine Unterklasse von' JPanel'? Sind Sie sicher, dass 'getCenterPanel(). GetComponents() [i]' eine 'MyJTestPanel' Instanz ist? –
Veröffentlichen Sie kein Bild eines Stack-Trace. Kopieren Sie den Text des Stack-Trace, ziehen Sie jede Zeile um vier Leerzeichen ein und fügen Sie sie in Ihre Frage ein. – VGR