我有表示各种类型节目体裁(喜剧,戏剧等)的各种类。麻烦与填充的JTable和JTextField的
我充满了一个文本文件“ - ”分隔的数值是那些获得一类称为处理读取,并将它们放入一个LinkedList。
我有另一个类GUI_g创建图形用户界面。它有2个JTable。一个用于列表,另一个用于频道。 JTable listTable从链接列表中填充,每当用户单击一行时,文本字段的文本就会相应地改变。
我试着用5个字段(标题,流派和持续时间,演员,导演)和它的工作,用3个文本框显示根据点击哪一行不同的文本。但是,当我添加所有需要的值时,出现错误,没有填充字段。
我有两个问题:
如果它是一个音乐电影的电池没有充满了(因为它应该是),但它的数据复制到JTextField的 的Snyopsis栏保持空白,不填充时返回错误。 下面是类(主要使用的)。如果你需要别人告诉我,我会上传。
GUI_g:http://pastebin.com/KsZBwgtR ProgramTableModel:http://pastebin.com/6Rc2bVxa 处理:http://pastebin.com/8f8iteVK 计划:http://pastebin.com/NU3XGvM8
这是错误我得到:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at GUI_g$1.mouseClicked(GUI_g.java:205)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at java.awt.Component.processMouseEvent(Component.java:6507)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
形象的例子:
你能否解释一下我应该用什么来代替'T'?我不太明白 – Brian 2012-04-14 20:44:56
@Brian:toString()方法是一个java.lang.Object方法,因此它可以属于任何对象。我没有打扰通过你的代码来找到listTable.getValueAt(...)引用的方法,但是无论你从那个方法返回哪个对象 - 你只需要将T设置为该类型(T代表类型, BTW)。 – Ozzy 2012-04-14 20:51:06
啊好吧谢谢。也..为什么不是每个对象的概要场? – Brian 2012-04-14 20:55:55