我所有的代碼dissappear到目前爲止,編譯罰款,但隨機播放按鈕,使所有的卡dissappear程序洗牌卡,當我擊中洗牌按鈕,卡上的GUI窗口
import java.util.Random;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.image.ImageView;
import javafx.scene.layout.*;
import javafx.scene.control.Button;
import javafx.geometry.Pos;
public class P6 extends Application
{
public static final int ASIZE = 54;
public static final int ROWS = 6;
public static final int COLS = 9;
public void start(Stage primaryStage)
{
int aCardDeck[] = new int[ASIZE]; //54 cards in a deck
for(int i = 0 ; i < ASIZE ; i++) //ASIZE is 54
aCardDeck[i] = i + 1; //populate with elements 1-54
GridPane gPane = new GridPane(); //Instantiate Grid for cards in rows/cols
for(int i = 0, k = 0 ; i < ROWS && k < ASIZE; i++) //6 rows, 9 columns
for(int j = 0; j < COLS ; j++)
gPane.add(new ImageView("image/card/" + aCardDeck[k++] + ".png"),j,i);
Button btShuffle = new Button("Shuffle");
btShuffle.setOnAction
(e -> // Lamda Event Handler
{ // Like anonymous inner class
int r, c, n;
shuffle(aCardDeck); // Random shuffle
gPane.getChildren().clear();
for (r = n = 0; r < ROWS && n < ASIZE; r++)
for (c = 0; c < COLS ; c++)
gPane.add(new ImageView("~/../public/image/card/" + aCardDeck[n++]
+ ".png"),c,r);
}
);
HBox hBox = new HBox(5); // Row of buttons
hBox.getChildren().add(btShuffle); // Add button to box
BorderPane pane = new BorderPane();
pane.setCenter(gPane); // Layout rows of cards in center
pane.setBottom(hBox); // Layout buttons at bottom
BorderPane.setAlignment(hBox, Pos.CENTER);
Scene scene = new Scene(pane, 650, 600); // Create scene, place in stage
primaryStage.setTitle("P6"); // Set the stage title
primaryStage.setScene(scene); // Place the scene in the stage
primaryStage.show(); // Display the stage
}
public void ascendSort (int [] a){}
public void descendSort (int [] a){}
public void ascendRankSort (int [] a){}
public void descendRankSort (int [] a){}
public void shuffle(int [] a){
int r, tmp;
Random rand = new Random();
long seed = System.currentTimeMillis();
rand.setSeed(seed);
for(int i = 0 ; i < ASIZE ; i++){
r = rand.nextInt(ASIZE);
tmp = a[r];
a[r] = a[i];
a[i] = tmp;
}
}
public static void main(String[] arg`enter code here`s)
{
launch(args);
}
}
的錯誤信息: 線程「JavaFX Application Thread」中的異常java.lang.IllegalArgumentException:無效的URL:未找到無效的URL或資源 at javafx.scene.image.Image.validateUrl(Image.java:1094) at javafx.scene.image。 (Image.java:598) at javafx.scene.image.ImageView。(ImageView.java:164) at P6.lambda $ start $ 0(P6.java:39) 在P6 $$ LAMBDA $ 1/16273898.handle(未知來源) 在com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) 在com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager的.java:238) 在com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) 在com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) 在的com.sun .javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) 在com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 在com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher .java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event。 EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) at javafx.event.Event.fireEvent(Event.java:204) at javafx.scene.Node.fireEvent(Node.java:8175) at javafx.scene.control.Button.fire(Button.java:185) at com.sun.javafx.scene.control.sbeam.beva iorSkinBase $ 1.handle(BehaviorSkinBase.java:96) at com.sun.javafx.scene.control.skin.BehaviorSkinBase $ 1.handle(BehaviorSkinBase.java:89) at com.sun.javafx.event.CompositeEventHandler $ NormalEventHandlerRecord。 handleBubblingEvent(CompositeEventHandler.java:218) 在com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) 在com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) 在com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher。 dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event。 EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 在com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 在com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at javafx.event.Event.fireEvent( Event.java:204) at javafx.scene.Scene $ MouseHandler.process(Scene。java:3746) at javafx.scene.Scene $ MouseHandler.access $ 1800(Scene.java:3471) at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1695) at javafx.scene.Scene $ ScenePeerListener.mouseEvent (Scene.java:2486) at com.sun.javafx.tk.quantum.GlassViewEventHandler $ MouseEventNotification.run(GlassViewEventHandler.java:314) at com.sun.javafx.tk.quantum.GlassViewEventHandler $ MouseEventNotification.run(GlassViewEventHandler .java:243) at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:345) at com.sun.glass.ui。java.security.AccessController.doPrivileged(Native Method) 。 View.handleMouseEvent(View.java:526) at com.sun.glass.ui.View.notifyMouse(View.java:898) at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at com.sun.glass.ui.gtk.GtkApplication.access $ 200(GtkApplication.java:48) at com.sun.glass。 ui.gtk.GtkApplication $ 6 $ 1.run(GtkApplication.java:149) at java.lang.Thread.run(Thread.java:745) 引起:java.lang.IllegalArgumentException:無效的URL或資源未找到 at javafx.scene.image.Image.validateUrl(Image.java:1086) ... 50更多