Изменить размер изображения - Java

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста как сделать ,что бы размер изображения менялся вместе с размером окна. Например что бы игра растягивалась вместе с оеном или развернулась во весь экран, а не оставалась на месте.
Листинг программы
  1. package tictactoe;
  2. import javafx.application.Application;
  3. import javafx.stage.Stage;
  4. import javafx.scene.Scene;
  5. import javafx.fxml.FXMLLoader;
  6. import javafx.scene.Parent;
  7. /**
  8. *
  9. * @author user
  10. */
  11. public class TicTacToe extends Application {
  12. @Override
  13. public void start(Stage primaryStage /*stage*/) throws Exception {
  14. Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
  15. Scene scene = new Scene(root,300,320);
  16. scene.getStylesheets().add(getClass().getResource("MyCss.css").toExternalForm());
  17. primaryStage.setTitle("TicTacToe");
  18. primaryStage.setScene( scene);
  19. primaryStage.show();
  20. }
  21. /**
  22. * @param args the command line arguments
  23. */
  24. public static void main(String[] args) {
  25. launch(args);
  26. }
  27. }
  28. package tictactoe;
  29.  
  30. import javafx.event.ActionEvent;
  31. import javafx.fxml.FXML;
  32. import javafx.collections.ObservableList;
  33. import javafx.scene.Node;
  34. import javafx.scene.control.Button;
  35. import javafx.scene.control.MenuItem;
  36. import javafx.scene.layout.GridPane;
  37. /**
  38. *
  39. * @author user
  40. */
  41. public class FXMLDocumentController {
  42. @FXML Button b1;
  43. @FXML Button b2;
  44. @FXML Button b3;
  45. @FXML Button b4;
  46. @FXML Button b5;
  47. @FXML Button b6;
  48. @FXML Button b7;
  49. @FXML Button b8;
  50. @FXML Button b9;
  51. @FXML GridPane gameBoard;
  52. private boolean isFirstPlayer = true;
  53. public void buttonClickHandler(ActionEvent evt){
  54. Button clickedButton = (Button) evt.getTarget();
  55. String buttonLabel = clickedButton.getText();
  56. if ("".equals(buttonLabel) && isFirstPlayer){
  57. clickedButton.setText("X");
  58. isFirstPlayer = false;
  59. } else if("".equals(buttonLabel) && !isFirstPlayer){
  60. clickedButton.setText("O");
  61. isFirstPlayer = true;
  62. }
  63. find3InARow(); // is there a winner?
  64. }
  65. private boolean find3InARow(){
  66. //Row 1
  67. if (!"".equals(b1.getText()) && b1.getText().equals(b2.getText())
  68. && b2.getText().equals(b3.getText())){
  69. highlightWinningCombo(b1,b2,b3);
  70. return true;
  71. }
  72. //Row 2
  73. if (!"".equals(b4.getText()) && b4.getText().equals(b5.getText())
  74. && b5.getText().equals(b6.getText())){
  75. highlightWinningCombo(b4,b5,b6);
  76. return true;
  77. }
  78. //Row 3
  79. if (!"".equals(b7.getText()) && b7.getText().equals(b8.getText())
  80. && b8.getText().equals(b9.getText())){
  81. highlightWinningCombo(b7,b8,b9);
  82. return true;
  83. }
  84. //Column 1
  85. if (!"".equals(b1.getText()) && b1.getText().equals(b4.getText())
  86. && b4.getText().equals(b7.getText())){
  87. highlightWinningCombo(b1,b4,b7);
  88. return true;
  89. }
  90. //Column 2
  91. if (!"".equals(b2.getText()) && b2.getText().equals(b5.getText())
  92. && b5.getText().equals(b8.getText())){
  93. highlightWinningCombo(b2,b5,b8);
  94. return true;
  95. }
  96. //Column 3
  97. if (!"".equals(b3.getText()) && b3.getText().equals(b6.getText())
  98. && b6.getText().equals(b9.getText())){
  99. highlightWinningCombo(b3,b6,b9);
  100. return true;
  101. }
  102. //Diagonal 1
  103. if (!"".equals(b1.getText()) && b1.getText().equals(b5.getText())
  104. && b5.getText().equals(b9.getText())){
  105. highlightWinningCombo(b1,b5,b9);
  106. return true;
  107. }
  108. //Diagonal 2
  109. if (!"".equals(b3.getText()) && b3.getText().equals(b5.getText())
  110. && b5.getText().equals(b7.getText())){
  111. highlightWinningCombo(b3,b5,b7);
  112. return true;
  113. }
  114. return false;
  115. }
  116. private void highlightWinningCombo(Button first, Button second, Button third){
  117. first.getStyleClass().add("winning-button");
  118. second.getStyleClass().add("winning-button");
  119. third.getStyleClass().add("winning-button");
  120. }
  121. public void menuClickHandler(ActionEvent evt){
  122. MenuItem clickedMenu = (MenuItem) evt.getTarget();
  123. String menuLabel = clickedMenu.getText();
  124. if ("Play".equals(menuLabel)){
  125. ObservableList<Node> buttons =
  126. gameBoard.getChildren();
  127. buttons.forEach(btn -> {
  128. ((Button) btn).setText("");
  129. btn.getStyleClass().remove("winning-button");
  130. });
  131. isFirstPlayer = true;
  132. }
  133. }
  134. <?import java.lang.*?>
  135. <?import java.util.*?>
  136. <?import javafx.scene.*?>
  137. <?import javafx.scene.control.*?>
  138. <?import javafx.scene.layout.*?>
  139. <?import javafx.scene.layout.*?>
  140. <?import javafx.scene.layout.BorderPane?>
  141. <BorderPane xmlns="http://javafx.com/javafx/8"
  142. xmlns:fx="http://javafx.com/fxml/1"
  143. fx:controller="tictactoe.FXMLDocumentController">
  144. <top>
  145. <MenuBar BorderPane.alignment="CENTER">
  146. <menus>
  147. <Menu text="Actions">
  148. <items>
  149. <MenuItem text="Play"
  150. onAction="#menuClickHandler"/>
  151. <MenuItem text="Quit" />
  152. </items>
  153. </Menu>
  154. </menus>
  155. </MenuBar>
  156. </top>
  157. <center>
  158. <GridPane fx:id = "gameBoard" BorderPane.alignment="CENTER">
  159. <children>
  160. <Button fx:id="b1" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" />
  161. <Button fx:id="b2" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="1" />
  162. <Button fx:id="b3" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="2" />
  163. <Button fx:id="b4" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.rowIndex="1" />
  164. <Button fx:id="b5" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
  165. <Button fx:id="b6" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="2" GridPane.rowIndex="1" />
  166. <Button fx:id="b7" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.rowIndex="2" />
  167. <Button fx:id="b8" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="1" GridPane.rowIndex="2" />
  168. <Button fx:id="b9" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="2" GridPane.rowIndex="2" />
  169. </children>
  170. </GridPane>
  171. </center>
  172. </BorderPane>

Решение задачи: «Изменить размер изображения»

textual
Листинг программы
  1. BorderPane

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы