これは私がスイングエラーのClassCastException
// loading all distict age on to list bix from student table
private void b1ActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel tb = (DefaultTableModel)tb1.getModel();
tb.setRowCount(0);
String sql = "select * from student";
try
{
Class.forName("java.sql.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/info","root","");
Statement s = con.createStatement();
ResultSet rs = s.executeQuery(sql);
while(rs.next())
{
int s_rno = rs.getInt(1);
String s_name = rs.getString(2);
int s_age = rs.getInt(3);
double s_marks = rs.getDouble(4);
tb.addRow(new Object[]{s_rno, s_name, s_age, s_marks});
tb1.setModel(tb);
}
rs.close();
s.close();
con.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
を入力そして、私はプログラムを実行すると、GUIが表示されますが、ボタンを押すことで、何も起こらない、と私の出力ウィンドウ
に次のエラーがあるコードです例外スレッドで "AWT-EventQueueの-0" とjava.lang.ClassCastException: $ 2は JDBC2.accessで JDBC2.b1ActionPerformed(JDBC2.java:74)でjavax.swing.DefaultListModelにキャストすることはできませんJDBC2 $ 000(JDBC2.java:9)で javax.swing.AbstractButton $ Handler.actionPerformed(AbstractButton.java:2348) で javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) でJDBC2 $ 1.actionPerformed(JDBC2.java:36) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) でjavax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.javaで: 25235) (java.awt.Component.processMouseEvent(Component.java:6535)、 )。のjavax.swing.JComponent.processMouseEvent(JComponent.java:3324)java.awt.Component.p (コンテナ): のjava.awt.Component.dispatchEventImpl(Component.java:4891)の のjava.awt.Container.processEvent(Container.java:2236)のjava.awt.Container.dispatchEventImplでのrocessEvent(Component.java:6300) java.awt.LightweightDispatcher.processMouseEventでjava.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) でjava.awt.Component.dispatchEvent(Component.java:4713)でContainer.java:2294)(コンテナ.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) java.awt.Window.dispatchEventImpl(Window.java :2750)at java.awt.Component.dispatchEvent(Components ja):の のjava.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) EventQueue.java:709) すべてjava.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege(のProtectionDomainで java.security.AccessController.doPrivileged(ネイティブメソッド)で java.awt.EventQueue $ 3.run(EventQueue.java:703)で。 Javaの: java.awt.EventQueue $ 4.runでjava.awt.EventQueue $ 4.runで76) ですべてjava.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) (EventQueue.java:731) (EventQueue.java:729)at java.security.AccessController.doPr すべてjava.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) java.awt.EventDispatchThread.pumpOneEventForFiltersでjava.awt.EventQueue.dispatchEvent(EventQueue.java:728)で (EventDispatchThreadで(ネイティブメソッド)ivileged .java:201) でjava.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) でjava.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) java.awt.EventDispatchThread.pumpEventsで( EventDispatchThread.java:101) ( )java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt。EventDispatchThread.run(EventDispatchThread.java:82)
私はエラーをどのように理解できますか。
この文を 'Class.forName(" java.sql.Driver ");と置き換えることができますか?この文は' DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 'となります。 ? –
@ N00bPr0grammerなぜですか?いずれも必要ではなく、どちらも例外とは関係ありません。 – EJP
@OPこれは74行ですか?そして 'Class.forName(" java.sql.Driver ");は何もせず、削除する必要があり、Netbeansはそれとは関係ありません。 – EJP