0

我在 java swing 中编写了一个自定义图形类,它将每 5 分钟从 mssql 服务器中提取数据并为我绘制它。这是我的架构

TimerGraph <-- 数据源 (MSSQL) <-- MSSQLManager <-- 主

我的 TimerGraph 将告诉 DataSource 何时请求新数据点。

我的 MSSQLDataSource 具有查询特定变量,它与 MSSQLManager 通信以执行查询

我的 MSSQLManager 将连接到数据库并为我执行查询。

所以我的问题是可扩展性,当我需要绘制来自同一个数据库但具有不同变量的多个数据点时。我已经实现了它,以便每个 MSSQLDataSource 都保存对同一个 MSSQLManager 连接的引用,以便可以在同一个 DB 连接上执行相应的查询。

当我的计时器启动并从每个数据源请求一个新点,然后该数据源开始并请求从它引用的数据库连接执行查询时,实际上只进行了 1 个调用。(当应该有大约〜20左右时)......

public static void main(String[] args) {
    SpotCheck sc = new SpotCheck();
    SwingUtilities.invokeLater(sc);
}

我的主应用程序有一个 run() 方法,它在单独的线程上执行并实例化我的 TimerGraphs(顺便说一句,我正在使用摇摆计时器)。我已经使用 CardLayouts 根据选定的组合框项显示正确的图形。如果 JPanel 在当前 CardLayout 中不可见,swing timers actionListeners 是否仍会执行?如果没有,是否有可能制作它们?还是我有某种线程问题。

谢谢

4

0 回答 0