2011-03-22 144 views
0

問題是無法從jtable顯示值到jspinner。這裏是我的jtablemouseclickedevenjtable值給jspinner不顯示

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) { 
if(evt.getClickCount()==1){ 
    jLabel5.setText(jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString()); 
    jTextField4.setText(jTable1.getValueAt(jTable1.getSelectedRow(), 1).toString()); 
    jTextField5.setText(jTable1.getValueAt(jTable1.getSelectedRow(), 2).toString()); 
    jTextField6.setText(jTable1.getValueAt(jTable1.getSelectedRow(), 3).toString()); 
    jSpinner1.setValue(jTable1.getValueAt(jTable1.getSelectedRow(), 4).toString()); 
} 
} 

JSpinner的格式爲MM/DD/YYYY所以JTable中也...

感謝的人誰可以再幫我...

這裏是錯誤我得到:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: illegal value 
     at javax.swing.SpinnerDateModel.setValue(SpinnerDateModel.java:440) 
     at javax.swing.JSpinner.setValue(JSpinner.java:329) 
     at UsernamePasswordPackage.MainForm.jTable1MouseClicked(MainForm.java:930) 
     at UsernamePasswordPackage.MainForm.access$1600(MainForm.java:34) 
     at UsernamePasswordPackage.MainForm$17.mouseClicked(MainForm.java:337) 
     at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253) 
     at java.awt.Component.processMouseEvent(Component.java:6270) 
     at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) 
     at java.awt.Component.processEvent(Component.java:6032) 
     at java.awt.Container.processEvent(Container.java:2041) 
     at java.awt.Component.dispatchEventImpl(Component.java:4630) 
     at java.awt.Container.dispatchEventImpl(Container.java:2099) 
     at java.awt.Component.dispatchEvent(Component.java:4460) 
     at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) 
     at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247) 
     at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) 
     at java.awt.Container.dispatchEventImpl(Container.java:2085) 
     at java.awt.Window.dispatchEventImpl(Window.java:2478) 
     at java.awt.Component.dispatchEvent(Component.java:4460) 
     at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) 
     at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) 
     at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) 
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 
     at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 

感謝

+1

[JTable date value to jspinner]的可能重複(http://stackoverflow.com/questions/5375278/jtable-date-value-to-jspinner) – Bombe 2011-03-22 07:42:13

+0

是的,這似乎已經是第二次重複。 – Thomas 2011-03-22 07:48:18

+0

歡迎來到StackOverflow,請查看[faq](http://stackoverflow.com/faq)。我還建議你閱讀[這篇博客文章](http://blog.stackoverflow.com/2010/10/asking-better-questions/)提示如何提出更好的問題。如果您繼續詢問相同的問題(或略有不同的變體),則視爲濫用系統。 – Will 2011-03-22 17:09:33

回答

1

雖然這是另一種重複,我會再試一次:您使用SpinnerDateModel並傳遞一個字符串作爲值(jTable1.getValueAt(jTable1.getSelectedRow(), 4).toString())而不是日期。在將字符串傳遞給微調器之前,將該字符串轉換爲日期(或者您甚至可以獲得日期)。

編輯:我發佈這個答案的原始問題,所以主持人可能會刪除這個副本。