我正在尝试使用以下内容在程序的后台进行简单的mp3播放:
Media med = new Media(getClass().getResource("intro.mp3").toExternalForm());
MediaPlayer mPlayer = new MediaPlayer(med);
mPlayer.play();
Run Code Online (Sandbox Code Playgroud)
intro.mp3文件与其他.class文件一起放在我的包的bin文件夹中.
问题是我的程序终止于:
Exception in thread "main" java.lang.IllegalStateException: Toolkit not initialized
Run Code Online (Sandbox Code Playgroud)
完整终止日志是:
Device "Intel(R) HD Graphics Family" (\\.\DISPLAY1) initialization failed :
WARNING: bad driver version detected, device disabled. Please update your driver to at least version 8.15.10.2302
Exception in thread "main" java.lang.IllegalStateException: Toolkit not initialized
at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:153)
at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:148)
at javafx.application.Platform.runLater(Platform.java:52)
at javafx.scene.media.MediaPlayer.init(MediaPlayer.java:450)
at javafx.scene.media.MediaPlayer.<init>(MediaPlayer.java:365)
at PokerApp.<init>(PokerApp.java:33)
at PokerApp.main(PokerApp.java:105)
Run Code Online (Sandbox Code Playgroud)
根据问题的原因,任何人都有任何想法吗?
我试图通过使用附加JFXPanel的JInternalFrame来使用JavaFx 2.x和Swing应用程序
我的代码如下
public class InternalFrameWithJavafx extends javax.swing.JFrame {
/**
* Creates new form InternalFrameWithJavafx
*/
public InternalFrameWithJavafx() {
initComponents();
final JInternalFrame frame = new JInternalFrame();
frame.setTitle("test InternalFrame");
frame.setVisible(true);
frame.setResizable(true);
frame.setIconifiable(true);
frame.setMaximizable(true);
frame.setIconifiable(true);
frame.setClosable(true);
frame.setSize(800,600);
frame.setLocation(0, 0);
frame.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
final JFXPanel javafxPanel = new JFXPanel();
BorderPane pane = new BorderPane();
javafxPanel.setScene( new Scene(pane) {
Text text = new Text("Hello World");
});
frame.getContentPane().add(javafxPanel, BorderLayout.CENTER);
}
});
this.add(frame);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code"> …Run Code Online (Sandbox Code Playgroud) 这可能听起来很奇怪,但我想使用JavaFX在服务器端生成我的图表图像.因为JavaFX具有很好的canvas API来执行图像转换连接和定位.
特别是我有一个spring MVC服务来生成我的图表作为图像.主要问题是如何从方便的Spring bean调用javaFX API.如果我尝试从java应用程序(不扩展javaFX Application类)运行javafx代码,我得到
java.lang.IllegalStateException: Toolkit not initialized
Run Code Online (Sandbox Code Playgroud)
您有任何建议/想法如何解决这个问题?
目前我正在研究Jax Rs应用程序,我想将Base64编码的图像输出到客户端.客户端是移动设备.
移动设备将使用一些参数调用此服务,服务器必须绘制条形图并将其作为base64编码的图像字符串发送回设备.
由于java Fx具有所需的图表库,我使用以下教程做了一个示例."快照"功能也按预期正常工作(创建屏幕图像).
http://docs.oracle.com/javafx/2/charts/bar-chart.htm#CIHJFHDE
现在我想在不扩展Application类的情况下这样做,因为我需要在Jax Rs应用程序中使用它.这样我就可以使用api创建一个BuffredImage然后用它来创建Base64字符串.
我找到了一种使用JFreeChart做到这一点的方法.但我更喜欢我能用Java FX做到这一点.我没有任何Java Fx的经验
请指教
我需要一些目前在JavaFX中找不到的功能.像机器人或托盘图标.
我知道这些工具可以与JavaFx应用程序一起使用.但是可以使用它们吗?我有什么需要考虑的因素吗?
java ×6
javafx-2 ×5
javafx ×2
awt ×1
jfilechooser ×1
media-player ×1
spring ×1
swing ×1
windows ×1