java - 从 JPanel(包含)更新 JFrame(容器或所有者),无需显式引用
问题描述
我有一堂课从JPanel
public class JPanelContained extends javax.swing.JPanel {
public JPanelMidi() {
// There is Not reference to JFrameContainer
}
private void repaintSelf() {
// How I got the parent or Owner?
parent.revalidate();
}
}
我有一堂课从JFrame
public class JFrameContainer extends javax.swing.JFrame {
javax.swing.JTabbedPane jtpWindows = new javax.swing.JTabbedPane();
JPanelContained jpContained = new JPanelContained();
jtpWindows.insertTab("Contained", null, jpContained, null, jtpWindows.getTabCount());
}
假设我们有一个实例JFrameContainer
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrameContainer jfContainer = new JFrameContainer();
jfContainer.setVisible(true);
}
});
}
现在,执行了一些更改jpContained
。
我需要 jfContainer.revalidate();
内部调用的效果jpContained
(没有明确的参考)。
jpContained
是否可以在没有构造函数或 getter/setter 显式使用的情况下获得其所有者或容器(谁包含)的引用?
解决方案
推荐阅读
- javascript - 根据变量生成范围内的数字
- r - R 和 RStudio 在 macOS 上运行缓慢
- javascript - JS Promises.all 问题
- tableau-api - 计算工具提示中多个单独度量值的列百分比
- google-chrome - 使用批处理文件启动 Powerapp 打开带有恢复消息的空白 Chrome 页面
- python - 如何使用 matplotlib 在同一个图中绘制多条线,每条线代表目标组?
- perl - 在“carton install”之后,一些依赖项的版本为“0”
- ios - 在用户默认值中保存包含编码为数据的敏感数据的对象
- html - HTML -webkit-动画/动画
- three.js - 三个 js 对象旋转 y 旋转 z 代替