从Java Swing组件中检索对象

时间:2012-03-31 20:25:52

标签: java swing

我一直致力于Java Swing项目,我需要检索创建面板的对象/实例,以便调用特定于该实例的简单保存方法。

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

有什么想法吗? 谢谢你的时间!

public class frame extends JFrame implements ActionListener{
 Builds a frame dubbed "frame" that is static.
 Builds a static JTabbedPane dubbed "pane"and adds it to the frame.
 Creates a button that creates a new instance of sheet.

 public void actionPerformed(MAGIC!){
  See if a button on the panel has been pressed and uses the currently selected tab to locate the correct instance of sheet to run it's save method.
 }
}

public class sheet extends JPanel{
 In constructor makes a JPanel and adds it to "pane"

 Describes a save method that outputs a variable unique to the instance.
}

3 个答案:

答案 0 :(得分:1)

我想出了我需要做的就是在ArrayList derp 中存储新的标签对象。感谢你们的尝试!

答案 1 :(得分:0)

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

- EDIT-- 你可能想检查一下 http://docs.oracle.com/javase/tutorial/uiswing/components/tabbedpane.html getSelectedIndex()可能就是你要找的东西。

答案 2 :(得分:0)

我的方法不是仅仅连接回原始创建者,而是创建/使用显然支持保存的界面。我在TUS中创建了一些东西,我的sourceforge项目

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

查看Persistable and Persistable2。当然,任何东西都可以是持久性的,但抽象让你远离与创造者阶级的明确关系