我正在编写一个图形用户界面,用于在xy轴上绘制数据。它是使用Java Swing编写的,因此我有一个包含整个GUI的JFrame。GUI的组件之一是JPanel,它构成了绘制数据的区域。我使用Graphics2D进行绘图。
我正在尝试将此程序扩展为命令行扩展程序。这个想法是允许用户在配置文件中指定要绘制的数据。这允许进行有趣的参数扫描,可以节省大量时间。
问题出现在我尝试获取Graphics对象以进行绘图时。我创建了执行绘图的JPanel,但当我调用paintComponent()时,Graphics对象为空。
此外,当您再次从命令行运行程序时,它会从您正在尝试做其他事情的任何内容(如果该程序在后台运行)中夺取焦点。有没有办法避免这种情况?必须创建JPanel来进行绘图吗?
感谢提供的任何帮助!
P.S.当我说我正在从命令行运行程序时,我的意思是说您没有使用GUI。所有绘图等都是在没有界面的情况下完成的。此外,我知道你不能实例化一个Graphics对象。
我正在尝试将此程序扩展为命令行扩展程序。这个想法是允许用户在配置文件中指定要绘制的数据。这允许进行有趣的参数扫描,可以节省大量时间。
问题出现在我尝试获取Graphics对象以进行绘图时。我创建了执行绘图的JPanel,但当我调用paintComponent()时,Graphics对象为空。
此外,当您再次从命令行运行程序时,它会从您正在尝试做其他事情的任何内容(如果该程序在后台运行)中夺取焦点。有没有办法避免这种情况?必须创建JPanel来进行绘图吗?
感谢提供的任何帮助!
P.S.当我说我正在从命令行运行程序时,我的意思是说您没有使用GUI。所有绘图等都是在没有界面的情况下完成的。此外,我知道你不能实例化一个Graphics对象。