Изменить размер изображения - Java
Формулировка задачи:
Подскажите пожалуйста как сделать ,что бы размер изображения менялся вместе с размером окна. Например что бы игра растягивалась вместе с оеном или развернулась во весь экран, а не оставалась на месте.
Листинг программы
- package tictactoe;
- import javafx.application.Application;
- import javafx.stage.Stage;
- import javafx.scene.Scene;
- import javafx.fxml.FXMLLoader;
- import javafx.scene.Parent;
- /**
- *
- * @author user
- */
- public class TicTacToe extends Application {
- @Override
- public void start(Stage primaryStage /*stage*/) throws Exception {
- Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
- Scene scene = new Scene(root,300,320);
- scene.getStylesheets().add(getClass().getResource("MyCss.css").toExternalForm());
- primaryStage.setTitle("TicTacToe");
- primaryStage.setScene( scene);
- primaryStage.show();
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- launch(args);
- }
- }
- package tictactoe;
- import javafx.event.ActionEvent;
- import javafx.fxml.FXML;
- import javafx.collections.ObservableList;
- import javafx.scene.Node;
- import javafx.scene.control.Button;
- import javafx.scene.control.MenuItem;
- import javafx.scene.layout.GridPane;
- /**
- *
- * @author user
- */
- public class FXMLDocumentController {
- @FXML Button b1;
- @FXML Button b2;
- @FXML Button b3;
- @FXML Button b4;
- @FXML Button b5;
- @FXML Button b6;
- @FXML Button b7;
- @FXML Button b8;
- @FXML Button b9;
- @FXML GridPane gameBoard;
- private boolean isFirstPlayer = true;
- public void buttonClickHandler(ActionEvent evt){
- Button clickedButton = (Button) evt.getTarget();
- String buttonLabel = clickedButton.getText();
- if ("".equals(buttonLabel) && isFirstPlayer){
- clickedButton.setText("X");
- isFirstPlayer = false;
- } else if("".equals(buttonLabel) && !isFirstPlayer){
- clickedButton.setText("O");
- isFirstPlayer = true;
- }
- find3InARow(); // is there a winner?
- }
- private boolean find3InARow(){
- //Row 1
- if (!"".equals(b1.getText()) && b1.getText().equals(b2.getText())
- && b2.getText().equals(b3.getText())){
- highlightWinningCombo(b1,b2,b3);
- return true;
- }
- //Row 2
- if (!"".equals(b4.getText()) && b4.getText().equals(b5.getText())
- && b5.getText().equals(b6.getText())){
- highlightWinningCombo(b4,b5,b6);
- return true;
- }
- //Row 3
- if (!"".equals(b7.getText()) && b7.getText().equals(b8.getText())
- && b8.getText().equals(b9.getText())){
- highlightWinningCombo(b7,b8,b9);
- return true;
- }
- //Column 1
- if (!"".equals(b1.getText()) && b1.getText().equals(b4.getText())
- && b4.getText().equals(b7.getText())){
- highlightWinningCombo(b1,b4,b7);
- return true;
- }
- //Column 2
- if (!"".equals(b2.getText()) && b2.getText().equals(b5.getText())
- && b5.getText().equals(b8.getText())){
- highlightWinningCombo(b2,b5,b8);
- return true;
- }
- //Column 3
- if (!"".equals(b3.getText()) && b3.getText().equals(b6.getText())
- && b6.getText().equals(b9.getText())){
- highlightWinningCombo(b3,b6,b9);
- return true;
- }
- //Diagonal 1
- if (!"".equals(b1.getText()) && b1.getText().equals(b5.getText())
- && b5.getText().equals(b9.getText())){
- highlightWinningCombo(b1,b5,b9);
- return true;
- }
- //Diagonal 2
- if (!"".equals(b3.getText()) && b3.getText().equals(b5.getText())
- && b5.getText().equals(b7.getText())){
- highlightWinningCombo(b3,b5,b7);
- return true;
- }
- return false;
- }
- private void highlightWinningCombo(Button first, Button second, Button third){
- first.getStyleClass().add("winning-button");
- second.getStyleClass().add("winning-button");
- third.getStyleClass().add("winning-button");
- }
- public void menuClickHandler(ActionEvent evt){
- MenuItem clickedMenu = (MenuItem) evt.getTarget();
- String menuLabel = clickedMenu.getText();
- if ("Play".equals(menuLabel)){
- ObservableList<Node> buttons =
- gameBoard.getChildren();
- buttons.forEach(btn -> {
- ((Button) btn).setText("");
- btn.getStyleClass().remove("winning-button");
- });
- isFirstPlayer = true;
- }
- }
- <?import java.lang.*?>
- <?import java.util.*?>
- <?import javafx.scene.*?>
- <?import javafx.scene.control.*?>
- <?import javafx.scene.layout.*?>
- <?import javafx.scene.layout.*?>
- <?import javafx.scene.layout.BorderPane?>
- <BorderPane xmlns="http://javafx.com/javafx/8"
- xmlns:fx="http://javafx.com/fxml/1"
- fx:controller="tictactoe.FXMLDocumentController">
- <top>
- <MenuBar BorderPane.alignment="CENTER">
- <menus>
- <Menu text="Actions">
- <items>
- <MenuItem text="Play"
- onAction="#menuClickHandler"/>
- <MenuItem text="Quit" />
- </items>
- </Menu>
- </menus>
- </MenuBar>
- </top>
- <center>
- <GridPane fx:id = "gameBoard" BorderPane.alignment="CENTER">
- <children>
- <Button fx:id="b1" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" />
- <Button fx:id="b2" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="1" />
- <Button fx:id="b3" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="2" />
- <Button fx:id="b4" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.rowIndex="1" />
- <Button fx:id="b5" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
- <Button fx:id="b6" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="2" GridPane.rowIndex="1" />
- <Button fx:id="b7" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.rowIndex="2" />
- <Button fx:id="b8" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="1" GridPane.rowIndex="2" />
- <Button fx:id="b9" onAction="#buttonClickHandler" prefHeight="100.0" prefWidth="100.0" GridPane.columnIndex="2" GridPane.rowIndex="2" />
- </children>
- </GridPane>
- </center>
- </BorderPane>
Решение задачи: «Изменить размер изображения»
textual
Листинг программы
- BorderPane
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д