这是一个更普遍的问题:我有一个非常复杂的文件表(数据模型并不简单),当用户点击一个条目时,另外两个视图组件需要更改 - 文件统计视图和文件内容视图 - 两者都在同一个屏幕上.
一个选项是将所有这些组件类定义放在同一个文件中,然后相互引用 - 但这会产生非常混乱的代码.
我能想到的另一个选择是将统计信息和内容组件传递给表对象,并让他使用它 - 但这会使表不能 - 可以在其他任何地方重用.
我确信有更好的方法 - 你会建议做什么?
选项1:
class MyPanel extends JPanel{
private MyTable table;
private MyFileViewer fv;
private MyFileStats stats;
class MyTable {
addMouseListener({ ... fv.update(); stats.update(); })
}
class MyFileViewer{...}
class MyFileStats{...}
}
Run Code Online (Sandbox Code Playgroud)
选项2:
class MyTable {
MyTable(MyFileViewer fv, MyFileStats stats) { ...
addMouseListener({fv.update, stats.update ... }
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
154 次 |
最近记录: |