单击按钮后JavaFX更改标签
我试着每次显示一行矩阵。但当按下按钮时,我想显示矩阵的下一行。我的想法是,我用索引“index”显示行,并在按钮按下时创建操作,将1添加到变量“index”。这不是一个好主意,因为它不起作用。它只显示第一行,从不改变单击按钮后JavaFX更改标签,java,button,javafx,Java,Button,Javafx,我试着每次显示一行矩阵。但当按下按钮时,我想显示矩阵的下一行。我的想法是,我用索引“index”显示行,并在按钮按下时创建操作,将1添加到变量“index”。这不是一个好主意,因为它不起作用。它只显示第一行,从不改变 public class GUI extends Application { int index = 0; public static int save[][] = {{1, 2, 3}, {3, 4, 5}, {6, 7, 8}}; public static void ma
public class GUI extends Application {
int index = 0;
public static int save[][] = {{1, 2, 3}, {3, 4, 5}, {6, 7, 8}};
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Label label = new Label(Arrays.toString(save[index]));
Button next = new Button();
next.setText("Next");
next.setOnAction(e -> {
dalsi();
});
GridPane grid = new GridPane();
grid.setPadding(new Insets(10, 10, 10, 10));
grid.setVgap(8);
grid.setHgap(10);
GridPane.setConstraints(label, 5, 6);
GridPane.setConstraints(next, 6, 13);
grid.getChildren().addAll(label, next);
Scene scene = new Scene(grid, 250, 180);
primaryStage.setScene(scene);
primaryStage.setTitle("QuickSort");
primaryStage.show();
}
public void dalsi() {
if (index < Quicksort.delka - 1) {
index++;
}
}
}
公共类GUI扩展应用程序{
int指数=0;
公共静态int save[][]={{1,2,3},{3,4,5},{6,7,8};
公共静态void main(字符串[]args){
发射(args);
}
@凌驾
公共无效开始(阶段primaryStage){
Label Label=新标签(Arrays.toString(save[index]);
按钮下一步=新按钮();
next.setText(“next”);
下一步。设置操作(e->{
dalsi();
});
GridPane grid=新建GridPane();
网格设置填充(新的插图(10,10,10,10));
网格设置间隙(8);
网格。setHgap(10);
设置约束(标签5,6);
setConstraints(next,6,13);
grid.getChildren().addAll(标签,下一步);
场景=新场景(网格,250,180);
初级阶段。场景(场景);
primaryStage.setTitle(“快速排序”);
primaryStage.show();
}
公共无效dalsi(){
如果(索引
要更改标签文本,需要在更改文本时调用标签上的setText
将标签设为类的成员变量,然后写入:
label.setText(
Arrays.toString(save[index])
);
在您使用
dalsi()
方法调用index++
之后。是的,谢谢,我没有意识到我可以使label成员变为变量,所以我很难在方法dalsi()中使用label。现在可以工作了:)