zdravim, potreboval by som pomoc, chcem nakodit nieco take ze mam napriklad 10 obrazkov a JLabel ich bude preberat ako ikonku, chcem aby sa tie obrazky preberali s urcitym oneskorenim aby nastal efekt animovane obrazku, skusal som to cez cykly a vlakna, ale nejak mi to stale blbne, vedel by niekto konkretnejsie poradit ?
Fórum › Java
Prepinanie obrazkov
ahoj,
tady je priklad jak by to slo udelat v JavaFX (priklad funguje pokud si nastavis cestu k obrazkum):
package animatedlabel;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.animation.TimelineBuilder;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
import javafx.util.Duration;
/**
*
* @author jiri - www.dredwerkz.cz
*/
public class AnimatedLabel extends Application {
@Override
public void start(Stage primaryStage) {
Image p1 = new Image("file:///home/jiri/NetBeansProjects/AnimatedLabel/p1.jpg");
Image p2 = new Image("file:///home/jiri/NetBeansProjects/AnimatedLabel/p2.jpg");
Image p3 = new Image("file:///home/jiri/NetBeansProjects/AnimatedLabel/p3.jpg");
final Image[] imgs = {p1, p2, p3};
final ImageView view = new ImageView();
TimelineBuilder.create()
.keyFrames(new KeyFrame(Duration.seconds(1), new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent ae) {
view.setImage(imgs[0]);
}
}),
new KeyFrame(Duration.seconds(2), new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent ae) {
view.setImage(imgs[1]);
}
}),
new KeyFrame(Duration.seconds(3), new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent ae) {
view.setImage(imgs[2]);
}
}))
.cycleCount(Timeline.INDEFINITE)
.build()
.play();
Label l = new Label("I'm your animated label", view);
StackPane root = new StackPane();
root.getChildren().add(l);
Scene scene = new Scene(root, 500, 500);
primaryStage.setTitle("Animated Label");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* The main() method is ignored in correctly deployed JavaFX application.
* main() serves only as fallback in case the application can not be launched
* through deployment artifacts, e.g., in IDEs with limited FX support.
* NetBeans ignores main().
*
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
diki vsetkym co sa snazili pomoct, nakoniec som to vyriesil takto http://pastebin.com/KJfCb6z0
animuje sa to presne ako gifko, nieje to vobec horsie, navyse mozem pouzit obrazky v hocijakom formate
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 49 hostů
Podobná vlákna
Prepínanie medzi projekami — založil noro-nr
Prehliadac obrazkov — založil martin.007
Upload obrázkov — založil Jakub
Nahlad obrázkov — založil Tomáš Lacko
Posúvanie obrázkov — založil Peter
Moderátoři diskuze