From ee8ae3181864fc651b47ad2e22d38dafe4bff611 Mon Sep 17 00:00:00 2001 From: Mitchell Date: Sun, 12 Sep 2021 10:41:41 -0400 Subject: [PATCH] GUI no longer lags --- .../Main$HorizontalBorderTile.class | Bin 1520 -> 1520 bytes bin/application/Main$LeftTextTile.class | Bin 1597 -> 1597 bytes bin/application/Main$Piece.class | Bin 5646 -> 5256 bytes bin/application/Main$ScoreTile.class | Bin 1634 -> 1634 bytes bin/application/Main$Tile.class | Bin 1721 -> 1721 bytes bin/application/Main$TopTextTile.class | Bin 1597 -> 1597 bytes bin/application/Main$VerticalBorderTile.class | Bin 1516 -> 1516 bytes bin/application/Main.class | Bin 9500 -> 10260 bytes src/application/Main.java | 107 ++++++++++-------- 9 files changed, 61 insertions(+), 46 deletions(-) diff --git a/bin/application/Main$HorizontalBorderTile.class b/bin/application/Main$HorizontalBorderTile.class index d94556ed269def04e619a65f93896ec265b49ebb..e4250ae6568bf0ab3f67993905666ebb4426d299 100644 GIT binary patch delta 57 zcmV-90LK6D3-AlDdj&1900{uG02ctV02~0b03!gj04e~r06YM;07L+{089Y509F9G P0AK*R0BQidlc)tq&leBW delta 57 zcmV-90LK6D3-AlDdj&0z00{t)02cs}02~0403!gC04e~K06YMd07L+m089Xv09F8) P0AK)_0BQi6lc)tqrBe<_ diff --git a/bin/application/Main$LeftTextTile.class b/bin/application/Main$LeftTextTile.class index 0c2ee1554991ab91e16ced93c54e560cf36cfef7..00f8e9a7e797de1f51c2111d18f5553d2cadddf8 100644 GIT binary patch delta 57 zcmV-90LK5l4807n$OSFs00{u&02Bb`03rbA04D(G04@OO05$;X07C%l08Rkx09gR- P0AK*_0C@oLll28i4C)e* delta 57 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 diff --git a/bin/application/Main$ScoreTile.class b/bin/application/Main$ScoreTile.class index f20525190fbbefbe51d9ae24ba5df1090ecb7f4b..8d5eac6a79bbe60d8488ecadcba61f343c4149a6 100644 GIT binary patch delta 57 zcmV-90LK5~4B`y1;{`3#00{um02Bb!03!g^04o6205$;E06_rQ08Rke08{|l09*ju P0Am2%0DS=8lMn_{4dxMf delta 57 zcmV-90LK5~4B`y1;{`3U00{uF02BbT03!gj04o5s05$-&06_q^08Rk708{|E09*jN P0Am2W0DS! Z%NUv&mNWD+tYDbVuo9?Z_2gY diff --git a/bin/application/Main$VerticalBorderTile.class b/bin/application/Main$VerticalBorderTile.class index 58dc8b2acaaf8515e236f226ac5364b950cc7d26..c62fe27620073cb37bda7f39637f9f0fc8ee74f8 100644 GIT binary patch delta 57 zcmV-90LK693+xN9cLgoM00{uX02ctm02~0s03!g!04e~+06YN407L-D089YM09F9X P0AK*i0BQiulcWVm;r|ej delta 57 zcmV-90LK693+xN9cLgn=00{u002ctF02~0L03!gT04e~b06YMu07L+%089X=09F90 P0AK*B0BQiNlcWVmxH}I7 diff --git a/bin/application/Main.class b/bin/application/Main.class index c7fca72d764696336ca7d37318178c5bcab7d8e4..983216eb76ea05acd4bdefe35c5f5a807ac96159 100644 GIT binary patch literal 10260 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
    Lo%ix1$WlIco8QxdDeho1lEt9-TxHF` z-H!Jo0#dF7vqyFA;>R#^rQ6pg`DHYMd#_>F41i8P1b>WW@9IEpo2O-l*YGu#2ZMp2 zlX7K&Cy^?!0D|;WvcS{gWPR{e;XDPD&+7aeJ`7PxD{Cv}A}SB>RgNhA^E$sE^!C}6 z)iZ^`Z*_i2F_>LlIkTcpP`}gp6-851QeQ2I-|PGbK{)1}TVAd(f71DgBAGvTE*dPZ z+CW>-W60GX{w~eVNun*nN2T9y1j`V8LSm=Ey;aVjim!07j0#j>q@s@GSjcOF)VP8Z z&eyY!#%wDm+0BHQT5X_1X-HEfL?_~kZo{2%G-=Y}!bp?um4awoDTtnxf@nl3h&Ggh zXhJE77LD0rd;alcpZ zxWy}oySjq7kSmB=w}QA^D~KDkg4qJoW{IyV2$uq0hvsMj;+c=P&tU}y+?dlzr{r|e zrX~{lXD#VTQXp%>ZJeED8MEBu21KmDCGsX@z24JIx zqoFb$4U@^(ydpF`O3~JsiN-}0IuncW#fRoX80~{KluegH=_{e`HJHBwTtsOoNq!0d zY7&z03}S4@mynpk@iaP?DMYr-P^_(?i&izHuj!!(AQ0ZH(cr zi{NgE;cklHZjRw@iQu-xa6gUUw#IOGL~wV;aCb*=+he$UBe?rwxb_I{ff(+W5!^#v zv=jUINREqa=YkoL(Xn`zKdRN5Ns#C(n)_PaCXrVh3}+47bLe+ zmPPkwA9Qajy3Axq@pfjiTJSHqnaLSRX^kxz4m>*Oo!m@k!aMXS%5Y51NXm59Vq9#F zlWW%}G3b)FA78xQ!I+Fu)x=!8JuM|IrGq}Oiyp%!cF|E0@Nb>;j|_(m>`mg7?Z=NQ zip)fcG*>*yM^Pr9SWN!Mmf?t}h%t#$q`4AFOeQ1qy6Dq}oD9c)`d24?1vd62@r>Tb zQfVz>^--Yw29!zr>AOzcq$5(VPdW~L-8+uImp3u0W!`S)4tByWOKn}WL`m7jsSSg; zUndU$x}k&9I(Tp=4;AArwI>n{H;K-V5oOx*Y&HjU{2)_2X{l|p!wEUf7yD!-4DbaV zJkoxU$28b7?X?H^B#r8GIyg(d?7}&<;d~RHL=_kpqNhF;C%p*IX;ee!P$L!7YAT`Y z5f$#CGTKYi(ZDLFHxWfXMU?o8Di8oFIhkhhK$^{?sfx$a9L_=x&%-YWr%??T&^#_d zhrWVpxduN2ET9Fvm>Rf=7NW{r#MjYczLC!3U(ory2lej(H140IrThwc_+4t@Psq#1 zXn|&s}<20YqTVayCRCakH%VGUqFNO z3|UQknZ_wx5}%3Pol5D)VSN1T#7^27{U7`HEhIbjI~wPt!%jMKj4HmSl%a$53|;<) zeG5r5p(C0IW^%KSLUgwy+}~@P+OBQ06}4;E@8`4NQBy{YJivuEw29AQ>frK84`N-? z=HMZD0_6ao4fq!RCSd#-{dXm_0{k&r`Ff;=9b%@Rxx<$$3R1CXbxFm*-=+ zu7ek}Ypz7(20`+_tK0drAK*;z@fdF@EhZ+ic|fswI1%}fLT&}`EkB0$M#V-nh*RbU zg)9Q^vwsZlt-^-BNaTH|LcUwwPH+7f-rE(MZHc_^Q^*bA{X;wXU+sOfVlyp~_ZEfB z2Je&OJ|L1p#X;5GQ0p}wiR|)Scs=t788khD>a&9Gpt}%qcF>n-$S$Vuxt0-v(9qb) zy8%12RINWR*3z|RZ5h71v`e(h0aa+E4peo-VH}Y*a`7qzytVi>?qa%%FQJWm8QsBG z(A~U&cJMX$A>dki4*~5%z5#vWP4o@lg4J&0iF`X6Qd`kux&v$9g^tU1tbQL~!|l9{ z@8>)DLCEqD@8Mn0Y!83H`}hltj`4mimAkY7d`L^@C$(aJN}JD5Yv=N_S~EYVE$0_C zKfk11!ml9MysB;DHf<}1wH^GL3RgMiF^!aG+C6+e0t2qV2v-+iq-pDD054%T0*{1< z>2$Khf^QMCigE`JL|1IFE${yb=Ye>D_BCpK=B1HPL7Q=K$2*^d@ZoHe~{y#BWe8zo+yYWAcvZN7)hmXoRVs(yBk% zBU%kK1XKv}v4aEdGgmMHpNjEaS(q)v#?RYsAL;4SqxE+MNmrY#J)UBp{4vfoUbZQ}(FA zHc2WR3{%{d+r{@bpqRU_liNG^!EQFz9Awv$XprVqVh%CqMa3M<5A#llnSz+}h-K~5 z0L2L$Is18cjGarSYA&!#joU5Z}Cz{%3KwisLn9fiRuyScOBS+eh{-_HjQJ?5H? z!hQ}?x_xdt+3WGL2rmxvrC|?u?!pRb_;(j0`5zjui_;+GU<G-ASAf1H@dOBb^{$b5L!1=TYweAmT zm`DA3YFHIjQ|TIeAbP(BQ)&EXejRWYyyqzV=M5P3Q@}R?4+FjhxCHQRz$1Wv0sIE= m9l%cj-vzAZVt%hU6D_G?ejo4y@JmAuJqk{TG5ZK+eDWV@XGSFe literal 9500 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

    (>1dD( zu}UflYtYDoqe)r`V^}BK5RiR@_aG?uqgf8YlrC(LlN`T@R{0q=$}iC-pCh7;LsXlJ zc5N0mYh{RQtB}yvpu_U5F6FD*I>)!Nwbl3)UZ;2EYPI+^M;bS84Vr#8q$MchuHxxWpNqVkEHE%3#I=dvrl^ zZe?<=gAv01dOu#mzbb0-5F>_~%fj0{g?SiuhDztXyXa_5{!cxgChp8HF-b>U$F9#Y z=L_VF8e!xa>TmRE%AuB`6Vn!Yy8;b}V>{nE@!VaP|- zo$}t-ra3BY$9wvvnV*KSg*0Pdo95WG9Vhimb6gsRR^5rOzBbKsQ#)FLt?!ASmxi&A zG;jXeG$*F*IImwhC#PYIAY$XGRa=V|`rw3Ic%37P7^ zB0MKWGL7#xEMn*Tpgb&79atoXwV~PwzT2=!8?EipZj`AGEYfb#KG#n3-G)W*y5Mqg zKRfEa&FBGXq*ph=D{EC-#NRps*eUCAhXipzOdOOAyq^u>q=d;u6d%ZDe8MI~mpJcW zIwViFkjL#ZUA{@KcCzETR$5r&UoF?kw`C7Y>g&n#O>&Us_+i;EzhH^|hTI{4lsn~5 ztY*KIyS1TmpOz;NYNO?0ZIK+(YUB|uNSQXsW7=lv)b_~Z+D-DLc8eU*PRLR1MR`Vh zU5;tLkuL3B>DE4%XSFZod6sWKcDdz6*Klca6-c9Nvb=0X<6=7s^;SBriBiI7$5zjk zC(}66Ty6}Z1T&}?6#*AvvI=#l`Rn%llJmxw>*90$Um=mF4$;0~Y!;c>8wqhcBfg6} zPh%v+L`Fj7CG9~;tkr!iJUe3dNyl;`ww&F@o#l0A5Eplr1YrFCwI>DS~Y!T zYC2V%o}*ZhUtyHIjv4anv;x!TuqCoEN$wVh+;T-qdkB?^8sU7xwS*TbGKA9!Guct9 zawb#EsL7PJhN;t*H!wkdi;Lt$n)Fpm}=}uxgbrLb{8b2NLY<0bjVtI#E$?wznyCSKsYE~z9XY!fT zH<=|}QahiIx&^M;?oQNN7573iP*gB3&zpC|#1V&I5;gTNN+*sTt@owqpl5J<}_|J6WPcd9R zv)CMIuS>Eyf>G;RWHX1cYNw;^3kj78c#2QRHL2~qYANl-P4lJrRC)}&}Qo|RI{nGf1>^VXTx%^eV zK=!h|n?g6<%bnJ9rz~qfyKPf~zslrGM!T477*o)=rL1y^lg~QAT4m0La z+1Ja=ew!J&gQZuN!;IX`m)zvreSC9RJ1P(IrI%@Wm@nDAiyq;No|ItU5ptT6U@Faf zFB{HT{FfJdnQF?gh_DjXEXwy{CD!0d!ht26j=_B;W` z>)B6>`976;FX7{aal#)E))PKKxQp;f!o!3=Bs@U)6k$0|$&rQm{N3f0JiRbqj&i?T QR^a=&Q=F@Jam9iE2GPo6d;kCd diff --git a/src/application/Main.java b/src/application/Main.java index 28b1991..6960faa 100644 --- a/src/application/Main.java +++ b/src/application/Main.java @@ -7,6 +7,7 @@ import controller.ControllerImpl; import javafx.application.Application; import javafx.geometry.Pos; +import javafx.scene.CacheHint; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.effect.DropShadow; @@ -40,15 +41,46 @@ public class Main extends Application { private int lastMovementY = -1; private int movedPieceX = -1; private int movedPieceY = -1; - private Image image = null; - - private Parent createContent() { + private Image blackBishopImage; + private Image whiteBishopImage; + private Image blackKnightImage; + private Image whiteKnightImage; + private Image blackRookImage; + private Image whiteRookImage; + private Image blackPawnImage; + private Image whitePawnImage; + private Image blackQueenImage; + private Image whiteQueenImage; + private Image blackKingImage; + private Image whiteKingImage; + private Image image; + + private Parent createContent() throws FileNotFoundException { + blackBishopImage = new Image(new FileInputStream("src/Black Bishop.png")); + whiteBishopImage = new Image(new FileInputStream("src/White Bishop.png")); + blackKnightImage = new Image(new FileInputStream("src/Black Knight.png")); + whiteKnightImage = new Image(new FileInputStream("src/White Knight.png")); + blackRookImage = new Image(new FileInputStream("src/Black Rook.png")); + whiteRookImage = new Image(new FileInputStream("src/White Rook.png")); + blackPawnImage = new Image(new FileInputStream("src/Black Pawn.png")); + whitePawnImage = new Image(new FileInputStream("src/White Pawn.png")); + blackQueenImage = new Image(new FileInputStream("src/Black Queen.png")); + whiteQueenImage = new Image(new FileInputStream("src/White Queen.png")); + blackKingImage = new Image(new FileInputStream("src/Black King.png")); + whiteKingImage = new Image(new FileInputStream("src/White King.png")); GridPane grid = new GridPane(); GridPane gridWithFrame = new GridPane(); GridPane frameWithIndexes = new GridPane(); GridPane indexesWithScore = new GridPane(); root.setPrefSize(1400, 1050); - + grid.setCache(true); + gridWithFrame.setCache(true); + frameWithIndexes.setCache(true); + indexesWithScore.setCache(true); + grid.setCacheHint(CacheHint.SPEED); + gridWithFrame.setCacheHint(CacheHint.SPEED); + frameWithIndexes.setCacheHint(CacheHint.SPEED); + indexesWithScore.setCacheHint(CacheHint.SPEED); // GRID BUILDING for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { @@ -61,7 +93,8 @@ private Parent createContent() { piece = new Piece(Color.BLACK, new LocationImpl(i, j)); tile = new Tile(Color.BLACK); } - + tile.setCache(true); + tile.setCacheHint(CacheHint.SPEED); grid.add(tile, j * 100, i * 100); grid.add(piece, j * 100, i * 100); // piece.setTranslateX(j * 100); @@ -227,23 +260,17 @@ public TopTextTile(String textInput) { private class Piece extends StackPane { // private Text text = new Text(); private ImageView imageView = null; - private LocationImpl location; - private Color color; + // private LocationImpl location; + // private Color color; private Circle indicator = new Circle(70, 70, 32, null); public Piece(Color color, LocationImpl location) { - FileInputStream pawnImage = null; - try { - pawnImage = new FileInputStream("src/Black Pawn.png"); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } imageView = new ImageView(image); imageView.setFitHeight(50); imageView.setFitWidth(50); - this.color = color; - this.location = location; + // this.color = color; + // this.location = location; Rectangle border = new Rectangle(100, 100); // indicator.setFill(Color.GREEN); @@ -350,15 +377,13 @@ public void drawBoardPieces() { try { switch (game.squareInfo(r, c).getColor()) { case BLACK: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/Black Bishop.png"))); + pieceBoard[r][c].imageView.setImage(blackBishopImage); break; case WHITE: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/White Bishop.png"))); + pieceBoard[r][c].imageView.setImage(whiteBishopImage); break; } - } catch (NullPointerException | FileNotFoundException ex) { + } catch (NullPointerException ex) { } break; @@ -366,15 +391,13 @@ public void drawBoardPieces() { try { switch (game.squareInfo(r, c).getColor()) { case BLACK: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/Black King.png"))); + pieceBoard[r][c].imageView.setImage(blackKingImage); break; case WHITE: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/White King.png"))); + pieceBoard[r][c].imageView.setImage(whiteKingImage); break; } - } catch (NullPointerException | FileNotFoundException ex) { + } catch (NullPointerException ex) { } break; @@ -382,15 +405,13 @@ public void drawBoardPieces() { try { switch (game.squareInfo(r, c).getColor()) { case BLACK: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/Black Knight.png"))); + pieceBoard[r][c].imageView.setImage(blackKnightImage); break; case WHITE: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/White Knight.png"))); + pieceBoard[r][c].imageView.setImage(whiteKnightImage); break; } - } catch (NullPointerException | FileNotFoundException ex) { + } catch (NullPointerException ex) { } break; @@ -399,15 +420,13 @@ public void drawBoardPieces() { try { switch (game.squareInfo(r, c).getColor()) { case BLACK: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/Black Pawn.png"))); + pieceBoard[r][c].imageView.setImage(blackPawnImage); break; case WHITE: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/White Pawn.png"))); + pieceBoard[r][c].imageView.setImage(whitePawnImage); break; } - } catch (NullPointerException | FileNotFoundException ex) { + } catch (NullPointerException ex) { } break; @@ -415,15 +434,13 @@ public void drawBoardPieces() { try { switch (game.squareInfo(r, c).getColor()) { case BLACK: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/Black Queen.png"))); + pieceBoard[r][c].imageView.setImage(blackQueenImage); break; case WHITE: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/White Queen.png"))); + pieceBoard[r][c].imageView.setImage(whiteQueenImage); break; } - } catch (NullPointerException | FileNotFoundException ex) { + } catch (NullPointerException ex) { } break; @@ -431,20 +448,18 @@ public void drawBoardPieces() { try { switch (game.squareInfo(r, c).getColor()) { case BLACK: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/Black Rook.png"))); + pieceBoard[r][c].imageView.setImage(blackRookImage); break; case WHITE: - pieceBoard[r][c].imageView - .setImage(new Image(new FileInputStream("src/White Rook.png"))); + pieceBoard[r][c].imageView.setImage(whiteRookImage); break; } - } catch (NullPointerException | FileNotFoundException ex) { + } catch (NullPointerException ex) { } break; default: - // pieceBoard[r][c].text.setText(""); + pieceBoard[r][c].imageView.setImage(null); break; } } catch (NullPointerException ex) {