我一直致力于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.
}
答案 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。当然,任何东西都可以是持久性的,但抽象让你远离与创造者阶级的明确关系