Java 从子级更改父Jframe:JsplitPane内的面板

Java 从子级更改父Jframe:JsplitPane内的面板,java,swing,sqlite,jframe,jsplitpane,Java,Swing,Sqlite,Jframe,Jsplitpane,我专注于管理库存的项目,因此我使用Netbeans中的Java Swing创建了一个Gui,如图所示,其中包含了大量库(Flamingo、trident、SwingX_All……等等) 此Gui与Sqlite相关,主Jframe包含功能区菜单和一个水平JsplitPane,其顶部有一个垂直JsplitPane,右侧有一个垂直JsplitPane。我添加了名为AddArticles的Jpanel,其中包含一个按钮,在Sqlite数据库中插入数据,并在垂直JsplitPane的底部刷新jTable

我专注于管理库存的项目,因此我使用Netbeans中的Java Swing创建了一个Gui,如图所示,其中包含了大量库(Flamingo、trident、SwingX_All……等等)

此Gui与Sqlite相关,主Jframe包含功能区菜单和一个水平JsplitPane,其顶部有一个垂直JsplitPane,右侧有一个垂直JsplitPane。我添加了名为AddArticles的Jpanel,其中包含一个按钮,在Sqlite数据库中插入数据,并在垂直JsplitPane的底部刷新jTable


我的问题是,我无法从按钮事件方法刷新表,因为我知道我试图让父对象尝试直接更改父组件???

基本问题是如何引用表模型。您可以创建类层次结构,使表模型成为需要在它们之间传递的属性,以便将视图绑定在一起。这意味着您可以创建表模型,提供对按钮的引用,但是,通过构造函数或setter,将模型的引用传递给实际需要它的视图…作为一种可能性…您的意思是我必须从包含buttonNope的面板调用父容器中的方法,我的意思是,您需要在按钮和表之间共享一个公共对象(表模型)。如果表被组件层掩埋,则需要提供一些方法,通过构造函数或某种setter向下传递该对象。这是解决方案,我将主框架作为参数在面板中传递,而不是在包含按钮的面板中使用,而不是在主框架中调用方法:),非常感谢@madprogrammer虽然它可以工作,但这不是一个好主意,你已经向应用程序中不需要知道的部分暴露了很多信息。这使面板能够以不允许的方式更改框架。。。比如把所有的东西都从框架上移除。虽然这是一个个人项目,但我一直鼓励使用最佳实践