目前我開始我的程序,然後我可以選擇一個dircetory。這些信息將打印在Textfield2上。我將這個文本複製到Textfiel1中,並添加「/textbild.png」作爲例子。那麼圖像應該顯示在另一個窗口中。與mp3相同的東西。 這是我的代碼:JavaFx目錄選擇圖像和MP3並播放並顯示它們
package javafxapplication1;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import javafx.scene.control.Label;
import javafx.scene.text.TextAlignment;
import javafx.scene.control.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.stage.StageStyle;
import javafx.application.Application;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.DirectoryChooser;
import javafx.stage.Stage;
/**
*
* @author rodey_000
*/
public class JavaFXApplication1 extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
Group root = new Group();
Scene scene = new Scene(root);
stage.setTitle("Label Sample");
stage.setWidth(400);
stage.setHeight(180);
HBox hbox = new HBox();
Button button1 = new Button("Bild");
button1.setStyle("-fx-font: 22 arial; -fx-base: #b6e7c9;");
button1.setTranslateX(-430);
button1.setTranslateY(30);
String T ="TroubleSeeker.mp3";
Label label1 = new Label("Bild");
label1.setFont(Font.font("Cambria", 30));
label1.setTranslateY(0);
Label label5 = new Label("User");
label5.setFont(Font.font("Cambria", 30));
label5.setTranslateY(100);
label5.setTranslateX(-300);
final TextField name = new TextField();
name.setPromptText("Enter BildName.png.");
name.setPrefColumnCount(10);
name.setText("testbild.png");
name.getText();
name.setTranslateX(-40);
final TextField name2 = new TextField();
name2.setPromptText("Enter Songname.mp3.");
name2.setPrefColumnCount(10);
name2.getText();
name2.setTranslateX(-270);
name2.setTranslateY(55);
final TextField name3 = new TextField();
name3.setPromptText("Enter User");
name3.setPrefColumnCount(10);
name3.setText("Michael");
name3.getText();
name3.setTranslateX(-440);
name3.setTranslateY(100);
DirectoryChooser directoryChooser = new DirectoryChooser();
File selectedDirectory = directoryChooser.showDialog(stage);
String a= selectedDirectory.getAbsolutePath();
name2.setText(a);
button1.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent t) {
Stage secondaryStage = new Stage(StageStyle.UTILITY);
Group root2 = new Group();
Scene scene2 = new Scene(root2);
String TextBild = name.getText();
String TextAufBild = name3.getText();
String Song = name2.getText();
int lenght = name3.getLength();
Image image = new Image(getClass().getResourceAsStream(TextBild));
double high = image.getHeight();
double widht = image.getWidth();
secondaryStage.setTitle("Label Sample");
secondaryStage.setWidth(600);
secondaryStage.setHeight(300);
Label label3 = new Label();
label3.setGraphic(new ImageView(image));
Label label4= new Label(TextAufBild);
label4.setFont(new Font("", 50));
label4.setTextAlignment(TextAlignment.JUSTIFY);
label4.setTranslateY(50);
if(lenght == 1){
label4.setTranslateX(-340);
}
else if(lenght == 2){
label4.setTranslateX(-350);
}
else if(lenght == 3){
label4.setTranslateX(-360);
}
else if(lenght == 4){
label4.setTranslateX(-370);
}
else if(lenght == 5){
label4.setTranslateX(-380);
}
else if(lenght == 6){
label4.setTranslateX(-390);
}
else if(lenght == 7){
label4.setTranslateX(-400);
}
else if(lenght == 8){
label4.setTranslateX(-410);
}
else if(lenght == 9){
label4.setTranslateX(-420);
}
else if(lenght == 10){
label4.setTranslateX(-430);
}
else if(lenght == 11){
label4.setTranslateX(-440);
}
else if(lenght == 12){
label4.setTranslateX(-450);
}
else if(lenght == 13){
label4.setTranslateX(-460);
}
else if(lenght == 14){
label4.setTranslateX(-470);
}
else if(lenght == 15){
label4.setTranslateX(-480);
}
HBox hbox2 = new HBox();
hbox2.setSpacing(10);
hbox2.getChildren().add((label3));
hbox2.getChildren().add((label4));
((Group)scene2.getRoot()).getChildren().add(hbox2);
secondaryStage.setTitle("Secondary Stage");
secondaryStage.setScene(scene2);
secondaryStage.show();
InputStream thing = getClass().getResourceAsStream(Song);
Media audioFile = new Media(thing.toString());
MediaPlayer m = new MediaPlayer(audioFile);
m.play();
}
});
Label label2 = new Label("Song");
label2.setFont(Font.font("Cambria", 30));
label2.setTranslateY(50);
label2.setTranslateX(-58);
label2.setTranslateZ(1);
hbox.setSpacing(10);
hbox.getChildren().add(label1);
hbox.getChildren().add(label2);
hbox.getChildren().add(name);
hbox.getChildren().add((label5));
hbox.getChildren().add(name2);
hbox.getChildren().add(name3);
hbox.getChildren().add(button1);
((Group)scene.getRoot()).getChildren().add(hbox);
stage.setScene(scene);
stage.show();
}
所以我錯過了這個問題,是不是工作,或者你想要更好地做到這一點的想法? – 2014-11-08 12:44:46
如果我選擇路徑並想要打開圖片或mp3。他們不會打開。 – 2014-11-09 12:21:22