以下是我的代碼,每件事情都很好我可以加載一個遠程頁面我可以把HTML內容,但我的img標籤顯示一個X標誌,意味着它無法加載圖像。JavaFX:在WebView中img標籤沒有加載本地圖像
注:我的圖片都位於同一個封裝類JavaFX
文件夾中的笑臉,我可以列出所有的圖像是指沒有與路徑
import java.awt.BorderLayout;
import java.io.File;
import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class JavaFX {
static WebView webView;
static WebEngine webEngine;
static String imgs = "";
public JavaFX() {
File f = new File(getClass().getResource("/Smiley").getFile());
for (File fs : f.listFiles()) {
imgs += "<img src=\""+fs+"\" width='50' />";
}
System.out.println(imgs);
}
private void initAndShowGUI() {
// This method is invoked on Swing thread
JFrame frame = new JFrame("FX");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new BorderLayout());
final JFXPanel fxPanel = new JFXPanel();
frame.add(fxPanel, BorderLayout.CENTER);
frame.setVisible(true);
frame.setSize(800, 800);
Platform.runLater(new Runnable() {
@Override
public void run() {
initFX(fxPanel);
}
});
}
private void initFX(final JFXPanel fxPanel) {
Group group = new Group();
Scene scene = new Scene(group);
fxPanel.setScene(scene);
webView = new WebView();
group.getChildren().add(webView);
webEngine = webView.getEngine();
webEngine.loadContent("<div id='content'>"+imgs+"</div>");
}
public static void main(final String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JavaFX fx = new JavaFX();
fx.initAndShowGUI();
}
});
}
}
Follwing問題是輸出
解釋如何使用代碼,爲什麼這可能是一個解決方案的問題 – 2014-10-19 12:11:02
@Sanket Pipariya感謝您的答覆問題不在路徑正確的路徑中,我可以列出目錄中的所有文件,但它不會在使用img標籤的WebView中呈現! – Muhammad 2014-10-19 12:12:31
親愛的@RuneFS和Sanket Pipariya我解決了這個問題在這裏看到http://stackoverflow.com/a/26451542/1966247 – Muhammad 2014-10-19 14:35:24