2012-03-31 99 views
3

我一直在研究Java Swing项目,我需要检索创建面板的对象/实例以调用该实例特有的简单保存方法。从Java Swing组件检索对象

你有一个带有JTabbedPane的JFrame,它具有通过实例化一个构建JPanel的类并将其添加到JTabbedPane中创建的选项卡,我需要从JTabbedPane上的选定JPanel /选项卡中找到特定实例,然后调用它保存方法。

任何想法? 感谢您的时间!

​​
+0

我认为,为了获得最佳的具体帮助,您需要告诉我们更多关于您当前代码的详细信息。您是否使用代码生成软件来创建GUI,如NetBean的gui创建者? – 2012-03-31 20:34:26

+2

不,我正在亲自动手,以更好地了解Java和Swing。 – user1305495 2012-03-31 20:45:26

+1

1+对该评论的评论。 – 2012-03-31 20:47:29

回答

1

我想通了,所有我需要做的就是在一个ArrayList DERP店新标签的对象。感谢你的尝试,虽然家伙!

+0

恭喜修复!如果可以,请确保将答案标记为“已接受”,以便其他人可以从您的成功中学习。干杯〜 – 2012-04-02 15:40:41

+0

哦,在此之前,我需要说这个问题是由于错误地使用类扩展引起的。当你扩展一个类时,它本身就成为你扩展的对象,这意味着你可以在我的情况下从它运行保存命令。当提到这个类时,请记住'this'关键字! – user1305495 2012-04-04 09:46:39

0

您可以在指向创建者实例的新JPanel中添加一个字段。我不认为有任何这样的方法可以指向API中的父类。

- 编辑 - 您可能要检查 http://docs.oracle.com/javase/tutorial/uiswing/components/tabbedpane.html getSelectedIndex()可能是你在找什么。

+0

我知道这听起来很愚蠢,但我会怎么做呢?我从来没有直接使用过指针,更不用说在典型意义上没有指针的语言。 >< Ty for the reply though! – user1305495 2012-03-31 20:37:55

+0

@ user1305495:他的意思是简单地给你的GUI类一个变量,该变量持有对其创建者的引用,就是这样。 – 2012-03-31 20:43:35

+0

我认为你有错误的想法,我会更新与一些伪代码的问题,进一步详细解释以任何其他方式给我一点头痛... – user1305495 2012-03-31 20:51:20

0

我的方法是创建/使用一个明确支持保存的接口,而不是仅仅连接回原始创建者。我创建的东西这TUS,我SourceForge项目

http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/io/filepersist/

退房持久化和Persistable2。当然,任何事情都可能是一个持久化的,但是抽象让我们从你的关系明确脱身回到创一流

+0

我可能会试试这个,但是我恐怕我不是最熟练的接口>< – user1305495 2012-04-01 11:48:09

+0

现在可能是获得一些经验的好时机! – ControlAltDel 2012-04-01 23:09:13