我想绘制一些在我用Java编码的模拟期间收集的统计图表。我决定尝试JavaFX,因为它有一些很棒的图形功能。但是,由于我以前从未使用过它,我不确定是否有可能将JavaFX功能添加到最初没有设置为这样做的项目中。
我已经将javafx库添加到我的项目中,并将JavaFX教程粘贴在http://docs.oracle.com/javafx/2/charts/line-chart.htm的线图上(没有main函数)以测试图形是否正确显示。
但是,它们没有。我在run模拟函数(从SwingWorker线程调用)中调用图形
LineChartSample.launch(new String());
在运行程序后,没有看到任何图形,我在调用后添加了一个println,并注意到程序从未到达它;i、 e.它在调用LineChartSample时终止。
我做错了什么吗?我正在尝试的是可能的吗?
编辑:该部分代码的快速摘要:
类InputGUI中的JButton调用
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
new AnswerWorker().execute();
}
public class AnswerWorker extends SwingWorker<Void, Integer> {
protected Void doInBackground() throws Exception
{
AMEC.runsimulation();
return null;
}
protected void done()
{
try {
JOptionPane.showMessageDialog(InputGUI.this, AMEC.unsuccesfulpercentage + "% of iterations had trucks that had to sleep over");
AMEC.unsuccesfulpercentage = 0;
}
catch (Exception e)
{
e.printStackTrace();
}
}
和AMEC。运行模拟调用
public static void runsimulation() throws IOException, InterruptedException {
...
LineChartSample.launch(new String());
}
我得到了答案工作者在完成后抛出的JDialogBox,但没有图形,每当我在线图Sample.launch调用后测试打印器时,它永远不会被触及。
尝试
public static void runsimulation() throws IOException, InterruptedException {
...
LineChartSample.launch(LineChartSample.class, "");
}
有关更多信息:
http://docs.oracle.com/javafx/2/api/javafx/application/Application.html#launch(java.lang.String…)
请注意,您实际上不应该这样做,因为在您的应用程序生命周期中,您不能多次调用该代码。相反,您应该从构建场景图的LineChartSample中提取代码,并使用JFXPanel将场景图嵌入到您的swing应用程序中。
我需要能够在普通的Java项目中播放音频文件(MP3 / Wav)。我更喜欢使用新的JavaFX MediaPlayer而不是JMF。我写了一些代码来测试这一点: 当我运行它时,我得到异常:Toolkit未初始化 我知道这与JavaFX线程有关。我的问题是,我该如何解决这个问题?我是否需要创建一个JavaFX面板来播放正常应用程序后台的一些音频文件,还是有其他方法? 编辑:堆栈跟踪:
问题内容: 我有一个传统的Java swing应用程序(扩展了JFrame并具有一个主类),该应用程序使用JFreeCharts来实现某些图表功能。我最近看过JavaFX,并认为这些图表看上去很新鲜,可以为我的用户带来更好的体验。我希望将JavaFX图表场景嵌入到jInternalFrame中(依次从我的jDesktopPane中调用它)。 我遵循了有关如何创建javafx应用程序和javafx图
问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我想用Java绘制图形(节点和边)。但是,由于我不知道该怎么做,因此在开始之前我想寻求一些建议。 我应该怎么做? 使用Graphics2D包,对吗? 节点的标签怎么样?我应该使用诸如drawString之类的东西并手动处理所有“
问题内容: 我正在尝试将一些简单的图形绘制到框架上。我还希望能够从主要方法中调整要绘制的内容。例如,设置要打印的String变量或矩形的坐标。 我似乎遇到的问题是,可以在设置类变量之前调用该方法。如何在绘制到屏幕之前更改此代码以设置/ 变量? 谢谢 问题答案: 从FrameTest类中删除test_string。使用set方法直接设置test_string。参见示例:
问题内容: 我几乎让repaint()Jcomponent工作了。我让它正常工作,然后 尝试进行绝对定位,但现在不起作用。 Class 2: (This is the JComponent that I am trying to set) 我将组件添加到Container中,然后将容器添加到JPanel中,然后将JPanel添加到JFrame中。我认为这 应该可行。我有设定的首选尺寸。我曾经使它工
我是否正确地认为无法在网格窗格中拖动形状?下面是一些代码的链接,这些代码允许用户在屏幕上拖动形状:拖放形状 我希望我的形状具有与上述相同的行为,但我希望它们在GridPane中(最终我希望它们的移动被锁定到X或Y轴以移动到相邻的形状)。 我将以下代码添加到“start”方法中。它使用与示例代码相同的方法创建圆,而是将它们添加到网格中。令人惊讶的是,这消除了他们被拖来拖去的能力。 如果您想测试这一点