2016-08-12 24 views
1

私はスタンドアロンのアプリケーションにはまったく新しいものです。私にこれを助けてください。javafx - tableviewのサイズを現在のウィンドウサイズに固定する方法

私は6列のテーブルビューを持っていますが、これは以下のようにウィンドウに半分が表示されます。

enter image description here

私は、ウィンドウが展開されている場合でも、テーブルビューの自動サイズ変更する必要があり、その現在のウィンドウサイズを固定したいです。これを行う方法はありますか?

これは、これは、一次ステージの高さと幅に好ましい高さと幅を結合することによって行うことができるコードスニペット

GridPane tableGrid= new GridPane(); 
tableGrid.setVgap(10); 
tableGrid.setHgap(10); 
Label schoolnameL= new Label(SCHOOL+school_id); 
schoolnameL.setId("schoolLabel"); 
Button exportDataSheetBtn= new Button("Export In File"); 
tableView.setMaxWidth(Region.USE_PREF_SIZE); 
tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); 
tableGrid.getChildren().addAll(schoolnameL,exportDataSheetBtn,tableView); 
+0

TableViewとその親コン​​テナに関連するコードをいくつか追加すると、私たちがより良くなるのに役立ちます。 – ItachiUchiha

答えて

0

です。ここMCVEです:

import javafx.application.Application; 
import javafx.collections.ObservableList; 
import javafx.scene.Scene; 
import javafx.scene.control.TableView; 
import javafx.stage.Stage; 

public class MCVE extends Application { 

    @Override 
    public void start(Stage stage) { 

     TableView<ObservableList<String>> table = new TableView<ObservableList<String>>(); 

     // We bind the prefHeight- and prefWidthProperty to the height and width of the stage. 
     table.prefHeightProperty().bind(stage.heightProperty()); 
     table.prefWidthProperty().bind(stage.widthProperty()); 

     stage.setScene(new Scene(table, 400, 400)); 
     stage.show(); 
    } 

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

} 
0

あなたがシーンのルートとしてのScrollPaneを使用し、その中に他のすべてを置くことができます。その後、プロパティsetFitToWidthとsetFitToHeightをtrueに設定すると、ScrollPane内のすべてのコンテンツがScrollPaneのサイズに合わせて拡大され、ScrollPaneはLayout Pane以降Sceneに収まります。また、ユーザがウインドウのサイズを内容のminWidthより小さくすると、スクロールバーが表示されるため、コンテンツが途切れることはありません!

@Override 
public void start(Stage stage) { 

    TableView<ObservableList<String>> table = new TableView<ObservableList<String>>(); 
    table.setMinWidth(400); 

    ScrollPane sp = new ScrollPane(table); 
    sp.setFitToHeight(true); 
    sp.setFitToWidth(true); 

    stage.setScene(new Scene(table, 800, 600)); 
    stage.show(); 
} 

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

私は、ジョナサンの答えからMCVEの一部をコピーし、あなたがジョナサンを気:)

サイズ変更可能なGUIは、このpostをチェック作るためのより一般的なヒントについてはいけない願っています!

関連する問題