Gente, java Fx é muito lokoooo
mas estou com algumas dúvidas:
Antes de eu postar o código, vou colocar minhas dúvidas, ok ?
1º Como Faço o Layout? Tem algum procedimento especial? Só quero colocar os botoes em lugares diferentes;
2º Quando coloco na URL o endereço de uma musica no meu HD, ele da erro , como eu faço pra ele tocar Mp3 , wma ? Só preciso de uma orientação de como fazer;
Segue o Código e o Erro da pergunta 2:
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package musica;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
/**
*
-
@author André
*/
public class Musica extends Application {public MediaPlayer MP;
public Media Media;
public static String URL;
public static JFileChooser JFC;//Main
public static void main(String[] args) {
launch(args);
}public Musica()
{URL = JOptionPane.showInputDialog(null,"Insert Url:"); MP = new MediaPlayer(new Media(URL)); MP.setAutoPlay(true); //Ultimo JOptionPane.showMessageDialog(null,"" + MP.getError());
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle(“Hello! UPEO Soldier!”);
Button Play = new Button();
Play.setText(“Play”);
Play.setOnAction(new EventHandler() {@Override public void handle(ActionEvent event1) { MP.play(); } }); Button btn = new Button(); btn.setText("Say 'Hello World'"); btn.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { System.out.println("Hello World!"); } }); StackPane root = new StackPane(); root.getChildren().add(btn); root.getChildren().add(Play); primaryStage.setScene(new Scene(root, 300, 250)); primaryStage.show();
}
}
[/code]
Erro da pergunta 2 :
[quote]init:
Deleting: E:\Netbeans Projetos\Musica\build\built-jar.properties
deps-jar:
Updating property file: E:\Netbeans Projetos\Musica\build\built-jar.properties
Compiling 1 source file to E:\Netbeans Projetos\Musica\build\classes
compile-single:
run-single:
Exception in Application constructor
Exception in thread “main” java.lang.RuntimeException: Unable to construct Application instance: class musica.Musica
at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
at com.sun.javafx.application.LauncherImpl.access$000(Unknown Source)
at com.sun.javafx.application.LauncherImpl$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
… 4 more
Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\Users\André\Music\Iron Maiden\1999 - Ed Hunter\Ed Hunter Cd1\The Trooper.mp3
at javafx.scene.media.Media.(Unknown Source)
at musica.Musica.(Musica.java:39)
… 8 more
Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\Users\André\Music\Iron Maiden\1999 - Ed Hunter\Ed Hunter Cd1\The Trooper.mp3
at java.net.URI$Parser.fail(URI.java:2829)
at java.net.URI$Parser.checkChars(URI.java:3002)
at java.net.URI$Parser.parse(URI.java:3039)
at java.net.URI.(URI.java:595)
… 10 more
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 7 segundos)[/quote]