我正在学习JavaFX。我想在几秒钟后一个接一个地显示一些图标。我的代码不起作用。我写了一些代码。和图标存储在一个单独的文件夹称为图像。
public class Main extends Application {
ImageView imv;
Scene scene;
@Override
public void start(Stage primarystage) {
gp=new GridPane();
gp.setPadding(new Insets(0, 10, 10, 10));
...
gp.setVgap(0);
gp.setHgap(5);
imv=new ImageView();
// logic for displaying images
scene=new Scene(gp, 450, 300, Color.TRANSPARENT);
primarystage.setScene(scene);
primarystage.setTitle("WINDOW");
primarystage.show();
}
public static void main(String[] args) {
launch(args);
}
}
我在网上找不到合适的答案。我想知道它是如何完成的逻辑,我还需要知道什么。因为单个图像I可以容易地显示。但是我不知道如何一个接一个地显示多个图像。
好吧,我帮你做了点什么。我不知道你到底在寻找什么,但这段代码至少会给你一些想法。我做了一些假设。在同一个目录下有一个名为images的文件夹,其中所有图标(要显示)都是1。巴布亚新几内亚,2。巴布亚新几内亚,3。巴布亚新几内亚等等。我使用的是Netbeans 8.2,它将自动从相应的包中导入必要的类。
import javafx.application.Application;
import javafx.concurrent.Task;
...
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
...
public class Main extends Application {
ImageView imv;
Label label;
String file="";
GridPane gridPane;
Scene scene;
Task<Void> slideShow;
@Override
public void start(Stage primarystage) {
gridPane=new GridPane();
gridPane.setPadding(new Insets(0, 10, 10, 10));
// business logic for slide show
startSlideShow();
imv=new ImageView();
label = new Label();
label.setGraphic(imv);
gridPane.add(label, 5, 0, 1, 1);
scene=new Scene(gridPane, 450, 300, Color.TRANSPARENT);
primarystage.setScene(scene);
primarystage.show();
// spawning a new thread for this task
new Thread(slideShow).start();
}
public void startSlideShow() {
slideShow= new Task<Void>() {
@Override
protected Void call() {
int i = 1;
while (true) {
try {
Thread.sleep(1000);
updateMessage(i + ".png");
} catch (Exception e) {
}
i++;
}
}
};
task1.messageProperty().addListener((observable, oldValue, newValue) -> {
Image image = new Image(getClass().getResourceAsStream("images/" + newValue));
imv.setImage(image);
});
}
public static void main(String[] args) {
launch(args);
}
}
希望这将工作,你可以自定义代码根据你的要求。
SuperMap iServer 发布的地图 在准备章节,已经新建了一个 HTML 页面,在页面中继续添加如下代码以创建一幅地图: <script type="text/javascript" src="http://iclient.supermap.io/dist/openlayers/iclient9-openlayers.js"></script> 在页面中加入 SuperMap iSer
我正在使用GridLayoutManager的回收器视图。我还使用以下代码使第一个项目变大 除了一个以外,其他一切都正常:位置1处的物品(即大图中的下一个物品)被垂直拉长,以匹配大件物品的高度。从第3行开始,所有图像如图所示。 我怎么才能摆脱这个? 编辑:经过一些分析 所以问题似乎是,大图像是水平的两个跨度,但垂直的单个跨度,因为我已经强制我的ImageView是方形的,它看起来像是也取了两行,而
用 subplot 命令可以在同一窗口中作多幅图或把它们打印到同一纸上。输入 subplot(m,n,p) 把figure窗口分成m*n个子区域及选择第p个区域为当前图。所作图是从figure窗口的顶行开始标号,然后第2行,依次类推。例如,以下语句在figure窗口的4个不同子区域分别作图。 t = 0:pi/10:2*pi; [X,Y,Z] = cylinder(4*cos(t)); subp
我刚刚开始学习Jetpack Compose,它真的很好,UI是如此简化。我正在学习如何使用Jetpack组合实现所有XML视图,如(Lazycolumn)等。 我想知道如何在Jetpack Compose中显示AdMob横幅广告。我知道我们可以使用互操作性API使用经典的XML视图。 有没有一种组合方式来实现Admob?或者我只能使用 AndroidView 以编程方式创建横幅广告视图。
我想生成两个柱状图进入2个不同的情节。为什么不是像http://www.java2s.com/code/java/chart/jfreeChartMultiplePieChartDemo1.htm这样的图,而是条形图,而不是饼形图。 我正在使用servletUtilities.saveChartaspng(),它将JFreeChart对象作为(第一个)参数,但我不知道如何创建我的JFreeChar
我从实施了AdMobhttps://developers.google.com/mobile-ads-sdk/docs/admob/android/quick-start?hl=en_US其在测试期间运行良好。 我以为从Play商店下载时,此横幅添加将被实际广告替换,但这并没有发生! 如何让它发生? 我错过了什么吗? 我该怎么办?