Вставьте составной объект (GridPane с TextFields) в ScrolPane.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Вставьте составной объект (GridPane с TextFields) в ScrolPane.

Сообщение Anonymous »

У меня есть класс, который создает сетку из массива TextFields, используя GridPane. Мне нужно вставить эту сетку в ScrollPane, которая принимает Node только в методе setContent(). Поэтому я расширяю этот класс из GridPane. Экземпляр класса Grid создается и устанавливается в ScrollPane методом onMnuItemNewAction класса MainViewController.java, но сетка не отображается. Спасибо за помощь.
MainView.fxml






























Main.java
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.io.IOException;

public class Main extends Application {
@Override
public void start(Stage stage) throws IOException {

FXMLLoader fxmlLoader = new FXMLLoader(Main.class.getResource("MainView.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 800, 600);
stage.setTitle("Grid Demo");
stage.setScene(scene);
stage.show();
}

public static void main(String[] args) {
launch();
}

}

MainViewController.java (метод вызова)
import javafx.geometry.Pos;
import javafx.scene.control.MenuItem;
import javafx.scene.control.ScrollPane;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import java.net.URL;
import java.util.ResourceBundle;

public class MainViewController implements Initializable {

@FXML
private MenuItem mnuItemNew;

@FXML
private ScrollPane scpGrid;

@FXML
public void onMnuItemNewAction() {
int cols = 10;
int rows = 10;
int horizontalGap = 1;
int verticalGap = 1;
int fieldHorizontalSize = 40;
int fieldVerticalSize = 40;
var newGrid = new Grid(cols, rows, horizontalGap, verticalGap, fieldHorizontalSize, fieldVerticalSize);
scpGrid.setContent(newGrid);
newGrid.setAlignment(Pos.CENTER);
}

@Override
public void initialize(URL url, ResourceBundle rb) {

}

}

Grid.java
import javafx.fxml.Initializable;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import java.net.URL;
import java.util.ResourceBundle;

public class Grid extends GridPane implements Initializable {
private final int totalColumnFields;
private final int totalRowFields;
private final int horizontalGap;
private final int verticalGap;
private final int fieldHorizontalSize;
private final int fieldVerticalSize;

public Grid(int totalColumnFields, int totalRowFields, int horizontalGap, int verticalGap, int fieldHorizontalSize, int fieldVerticalSize) {
this.totalColumnFields = totalColumnFields;
this.totalRowFields = totalRowFields;
this.horizontalGap = horizontalGap;
this.verticalGap = verticalGap;
this.fieldHorizontalSize = fieldHorizontalSize;
this.fieldVerticalSize = fieldVerticalSize;
}

@Override
public void initialize(URL url, ResourceBundle rb) {

this.setHgap(horizontalGap);
this.setVgap(verticalGap);
TextField[][] arrayLetterField = new TextField[totalColumnFields][totalRowFields];

for (int row = 0; row < totalRowFields; row++) {
for (int col = 0; col < totalColumnFields; col++) {
arrayLetterField[col][row] = new TextField();
arrayLetterField[col][row].setMinSize(fieldHorizontalSize, fieldVerticalSize);
arrayLetterField[col][row].setMaxSize(fieldHorizontalSize, fieldVerticalSize );
this.add(arrayLetterField[col][row], col, row);
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... -scrolpane
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Вставьте составной объект (GridPane с TextFields) в ScrolPane.
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Вставьте составной объект (GridPane с TextFields) в ScrolPane.
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • JavaFX – вставка составного объекта (GridPane с TextFields) в ScrolPane
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • «Невозможно найти ссылку «TextFields» в «__init__.py»
    Гость » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Гость
  • Как рекомендуется работать с измерениями длины (Text, TextFields)?
    Гость » » в форуме IOS
    0 Ответы
    6 Просмотры
    Последнее сообщение Гость

Вернуться в «JAVA»