我试图将javaFX应用程序集成到Swing应用程序,并成功完成。JavaFX闪烁(重新粉刷这么晚)onmouseover与集成Swing
但问题是,我不能解决问题,当鼠标悬停按钮javaFX相关面板闪烁(重新绘制速度如此之慢)。
有没有解决方案,或者我会尝试将Swing整合到javaFX中?这将是烦人的。
private void initFX(JFXPanel fxPanel) throws IOException {
// This method is invoked on the JavaFX thread
scene = createScene();
fxPanel.setScene(scene);
}
public MainFrame() {
Panel container = new Panel();
container.setLayout(null);
try {
final JFXPanel panel = new JFXPanel();
Insets insets = container.getInsets();
container.add(panel);
JApplet mapApplet = (JApplet)Class.forName("samples.mainApp.MainApplet").newInstance();
container.add(mapApplet); //Display Applet
add(container);
mapApplet.setBounds(800, 0, 566, 720);
panel.setBounds(0, 0, 800, 720);
mapApplet.init();
mapApplet.start();
Platform.runLater(new Runnable() {
@Override
public void run() {
try {
initFX(panel);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
} catch (InstantiationException | IllegalAccessException
| ClassNotFoundException e) {
e.printStackTrace();
}
//button.setVisible(false);
catch (Exception e) {
e.printStackTrace();
}
}
private Scene createScene() throws IOException {
root = new Group();
scene = new Scene(root, Color.ALICEBLUE);
Button btn1 = new Button("Connect");
root.getChildren().addAll(btn1);
}
尝试Java 8.使用Java 7有一些问题。 –
哪些问题?你有什么参考? – totten
只有在Java 7 + JavaFX重绘问题后才切换到Java 8(留下部分空白的菜单)。这个开关部分受到两个JavaFX版本之间差异的启发。我没有提及目前的事态。我必须承认,我正在研究Linux。因此,我的模糊评论。 –