这个问题在这里已有答案:
java.io.WriteAbortedException:写入已中止; java.io.NotSerializableException 2个答案//我有返回列表的方法pulic列表,我想将数据显示到jtable中,怎么做?
从数据库中检索数据的方法
public List<mahasiswa> SelectMahasiswa() throws RemoteException { List <mahasiswa>listMahasiswa = new ArrayList<mahasiswa>(); try { PreparedStatement ps = con.prepareStatement("SELECT nim, nama, jurusan FROM mahasiswa"); ResultSet rs = ps.executeQuery(); while (rs.next()) { mahasiswa mhs = new mahasiswa(); mhs.setNim(rs.getString(1)); mhs.setNama(rs.getString(2)); mhs.setJurusan(rs.getString(3)); listMahasiswa.add(mhs); rs.close(); } } catch (SQLException e) { e.printStackTrace(); } return listMahasiswa; }将数据显示给JTable
public void getAll(){ try { Registry regis = LocateRegistry.getRegistry("localhost", koneksi.Port_id ); remot rem = (remot) regis.lookup(koneksi.id); DefaultTableModel model=new DefaultTableModel(); for(mahasiswa mhs:rem.SelectMahasiswa()){ String kolom1=mhs.getNim(); String kolom2=mhs.getNama(); String kolom3=mhs.getJurusan(); String kolom[]={kolom1,kolom2,kolom3}; model.addRow(kolom); } jTable1.setModel(model); } catch (Exception ex) { ex.printStackTrace(); } }错误信息
java.rmi.UnmarshalException:错误解组返回; 嵌套异常是:java.io.WriteAbortedException:写入中止; java.io.NotSerializableException:remot.mahasiswa,位于java.rmi.server的java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)的sun.rmi.server.UnicastRef.invoke(UnicastRef.java:193)。位于com.sun.proxy的RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)。来自klaiyen.CRUD2的klaiyen.CRUD2.getAll(CRUD2.java:218)的$ Proxy0.SelectMahasiswa(未知来源)。(CRUD2.java:30)在klaiyen.CRUD2 $ 4.run(CRUD2.java:263)
This question already has an answer here:
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException 2 answers//I have method pulic list that return list, i want to display data into jtable, how to do it?
methods that retrieve data from the database
public List<mahasiswa> SelectMahasiswa() throws RemoteException { List <mahasiswa>listMahasiswa = new ArrayList<mahasiswa>(); try { PreparedStatement ps = con.prepareStatement("SELECT nim, nama, jurusan FROM mahasiswa"); ResultSet rs = ps.executeQuery(); while (rs.next()) { mahasiswa mhs = new mahasiswa(); mhs.setNim(rs.getString(1)); mhs.setNama(rs.getString(2)); mhs.setJurusan(rs.getString(3)); listMahasiswa.add(mhs); rs.close(); } } catch (SQLException e) { e.printStackTrace(); } return listMahasiswa; }display data to JTable
public void getAll(){ try { Registry regis = LocateRegistry.getRegistry("localhost", koneksi.Port_id ); remot rem = (remot) regis.lookup(koneksi.id); DefaultTableModel model=new DefaultTableModel(); for(mahasiswa mhs:rem.SelectMahasiswa()){ String kolom1=mhs.getNim(); String kolom2=mhs.getNama(); String kolom3=mhs.getJurusan(); String kolom[]={kolom1,kolom2,kolom3}; model.addRow(kolom); } jTable1.setModel(model); } catch (Exception ex) { ex.printStackTrace(); } }Error message
java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: remot.mahasiswa at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:193) at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194) at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148) at com.sun.proxy.$Proxy0.SelectMahasiswa(Unknown Source) at klaiyen.CRUD2.getAll(CRUD2.java:218) at klaiyen.CRUD2.(CRUD2.java:30) at klaiyen.CRUD2$4.run(CRUD2.java:263)
最满意答案
你的班级mahasiswa应该是这样的:
class mahasiswa implements Serializable { ... }Your class mahasiswa should look like this:
class mahasiswa implements Serializable { ... }更多推荐
发布评论