ともさんのHP >プロブラミング >JavaFX >JavaFXのUIコンポーネント

JavaFXおもなUIコンポーネント

ボタンやテキストフィールドなど、JavaFXで用意されているよく使いそうなUIの紹介です。
本来ならクリックしたらイベントを起こすのですが、今回は並べて表示させているだけです。
Swingよりも少し種類が増えていますが、使いかたは変わっていないようですね。
JavaFX主なUIコンポーネント

広告


ラベル、テキストフィールド、ボタン楽天 、トグルボタン、ラジオボタン、チェックボックス、選択ボックス、 コンボボックス、リストビューについて調べましたが、他にも...
日付ピッカーや色ピッカー、HTMLエディタ、WEBブラウザーなどもあります。

TextとTextFieldの違い

Textは文書を表示するノード、TextFieldは文書を入れるコンポーネントになります。

ButtonとToggleButtonの違い

ボタンは押したら凹んで元に戻る。トグルボタンは押すと凹んだまま。もう一度押すと元に戻る。

ChoiceBoxとComboBoxの違い

選択ボックスはあらかじめ用意されたリストから選ぶことしかできない。
コンボボックスはユーザーがリスト以外のアイテムを入力することが可能。

サンプルプログラム

package tomojavalib.fx;

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.geometry.Orientation;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;

public class UI extends Application {

 public static void main(String[] args) {
  Application.launch(args);
 }
 
 @Override
 public void start(Stage stage) throws Exception {
  //StageにPaneとSceneを置く
  Vbox pane = new Vbox();
  //UIを置く
  this.setUI( pane );
  Scene scene = new Scene(pane, 320, 400);
  stage.setScene(scene);
  stage.show();
 }
 
private void setUI( Pane p ){
//ラベル
Label l1 = new Label( " ラベル " );
p.getChildren().add( l1 );
Label l2 = new Label( " ラベルです " );
p.getChildren().add( l2 );

Separator sep1 = new Separator();
sep1.setOrientation( Orientation.HORIZONTAL );
p.getChildren().add( sep1 );

//テキストフィールド
Label l3 = new Label( " テキストフィールド " );
p.getChildren().add( l3 );
TextField t = new TextField( " テキストフィールド " );
p.getChildren().add( t );

Separator sep2 = new Separator();
p.getChildren().add( sep2 );

//ボタン
Label l4 = new Label( " ボタン " );
p.getChildren().add( l4 );
Button b = new Button( " ボタン " );
p.getChildren().add( b );

Separator sep3 = new Separator();
p.getChildren().add( sep3 );

//トグルボタン
Label l5 = new Label( " トグルボタン " );
p.getChildren().add( l5 );
ToggleButton tb = new ToggleButton( " トグルボタン " );
p.getChildren().add( tb );

Separator sep4 = new Separator();
p.getChildren().add( sep4 );

Label l6 = new Label( " ラジオボタン " );
p.getChildren().add( l6 );
RadioButton rb1 = new RadioButton( " ラジオボタン1 " );
rb1.setSelected(true);
p.getChildren().add( rb1 );
RadioButton rb2 = new RadioButton( " ラジオボタン2 " );
p.getChildren().add( rb2 );
RadioButton rb3 = new RadioButton( " ラジオボタン3 " );
p.getChildren().add( rb3 );
ToggleGroup group = new ToggleGroup();
group.getToggles().add(rb1);
group.getToggles().add(rb2);
group.getToggles().add(rb3);

Separator sep5 = new Separator();
p.getChildren().add( sep5 );

// チェックボックス
Label l7 = new Label( " チェックボックス " );
p.getChildren().add( l7 );
CheckBox check = new CheckBox("チェックボックス");
check.setAllowIndeterminate( true );
p.getChildren().addAll( check );

Separator sep6 = new Separator();
p.getChildren().add( sep6 );

// 選択ボックス
Label l8 = new Label( " 選択ボックス " );
p.getChildren().add( l8 );
ChoiceBox cb = new ChoiceBox( FXCollections.observableArrayList( "上" , "下" , new Separator() , "右" , "左" ));
cb.setValue("上");
p.getChildren().add( cb );

Separator sep7 = new Separator();
p.getChildren().add( sep7 );

// コンボボックス
Label l9 = new Label( " コンボボックス " );
p.getChildren().add( l9 );
ComboBox combo = new ComboBox( FXCollections.observableArrayList( "上" , "下" , new Separator() , "右" , "左" ) );
combo.setEditable( true );
combo.setValue("下");
p.getChildren().add( combo );

// リストビュー
ListView<String>    lv   = new ListView<String>();
lv.setItems( FXCollections.observableArrayList( "1行目" , "2行目" , "3行目" ) );
lv.setMaxHeight(60);
p.getChildren().add( lv );


 
}

最終更新日: 2017-03-31 10:01:21

ともさんのHP >プロブラミング >JavaFX >JavaFXのUIコンポーネント

このエントリーをはてなブックマークに追加
広告
おすすめ記事
新着ページ

ブルーベリーの挿し木  
シンプルなパネルラインワンピースの型紙と作りかた  
和風コートの作り方  
ホオノキ  
雑草でグリーンカーテン  
エケベリア植え替え  
E型肝炎体験記  
フラワースタンドの自作  
ウエスト切り替えワンピースの作りかた  
メーラーの引っ越し  
RaspberryPi用Javaサンプルプログラム  

私の他のサイト

ともさんの箱庭(ブログ)
家庭菜園
3D-CAD
洋裁CAD

いいねなど

 RSS 
PageSpeedInsights
html5チェック

Author: Tomoyuki Ito

このサイトの文章・写真の無断転載を禁じます