ともさんのHP >プロブラミング >JavaFX >チェックボックス

チェックボックスのサンプルプログラム

JavaFXのUIコントロール、CheckBoxを利用するシンプルなサンプルプログラムです。
サンプルプログラム

広告


チェックボックスの機能

YesかNoの2値を設定するコントロールです。チェックが入っていればtrue、入ってなければfalseになります。
初期状態では「どちらでもない」状態にすることもできます。この場合、チェックボックスに「-」が表示されます。
似たコントロールにラジオボタンがありますが、こちらは複数のうち一つだけを選ぶものです。
「トグルボタン楽天 」も機能的には似ています。

サンプルプログラムの説明

JavaFX楽天 で新Stageを作り、チェックボックスc1とc2、それからラベル2つを配置します。
チェックボックスの初期状態はtrueですが、c2は「どちらでもない」状態に設定しています。

  c2.setIndeterminate( true );

チェックボックスの値が変更されたときに対応する処理を行うため、c1,c2それぞれにイベントを設定します。
ここではどちらも同じcheckBoxChanged( ActionEvent e )メソッドを呼び出すようにしています。
通常であれば、チャックボックスごとにメソッドを用意するところですが、このサンプルでは同じメソッドを呼んで、メソッドの中で場合分けをしています。

private void setEvent(){
EventHandler<ActionEvent> checkBoxChanged = ( event ) -> this.checkBoxChanged( event );
c1.addEventHandler( ActionEvent.ACTION , checkBoxChanged );
c2.addEventHandler( ActionEvent.ACTION , checkBoxChanged );
}

checkBoxChanged( ActionEvent e )の中で、まずイベントを呼び出したチェックボックスを得ます。

CheckBox c = (CheckBox)e.getSource();

チェックボックスの表示を調べることで、呼び出したチェックボックスを特定し、それぞれに応じた処理を行います。
このサンプルでは、対応するラベルの表示を変更しています。

サンプルプログラムのコード

上の動画のソースコードは下記の通り。

package tomojavalib.fx;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;

public class CheckBoxTest extends Application {
CheckBox c1;
CheckBox c2;
Label l1;
Label l2;

 public static void main(String[] args) {
  Application.launch(args);
 }
 
 @Override
 public void start(Stage stage) throws Exception {
  Vbox pane = new Vbox();
  c1 = new CheckBox("チェックボックス1");
  c1.setSelected( true );
  c2 = new CheckBox("チェックボックス2");
  c2.setIndeterminate( true );
  l1 = new Label("1");
  l2 = new Label("2");
  pane.getChildren().addAll( c1,l1,c2,l2 );
  Scene scene = new Scene(pane, 320, 240);
  stage.setScene(scene);
  stage.show();
  this.setEvent();
 }
 
private void setEvent(){
EventHandler<ActionEvent> checkBoxChanged = ( event ) -> this.checkBoxChanged( event );
c1.addEventHandler( ActionEvent.ACTION , checkBoxChanged );
c2.addEventHandler( ActionEvent.ACTION , checkBoxChanged );
}

private void checkBoxChanged( ActionEvent e ){
 CheckBox c = (CheckBox)e.getSource();
 System.out.println( c.getText() ) ;
 if( c.getText().equals("チェックボックス1") ){
  if( c.isSelected()){ l1.setText("チェック"); }else{ l1.setText("-"); }
 }else{
  if( c.isSelected()){ l2.setText("チェック"); }else{ l2.setText("-"); }
 }
}

}

最終更新日: 2017-05-09 07:38:42

ともさんのHP >プロブラミング >JavaFX >チェックボックス

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

JavaFXでPopupMenu  
メンズパンツとジーンズの型紙ダウンロード  
柿の木、剪定前後の比較写真  
ダイアログ  
メニューバー  
原型型紙のダウンロード  
3D-CADでカバンの型紙  
和風コートの作り方  
ボタンやラベルの修飾方法  
アイコンの差し替え  
男性用原型製図のしかた  

私の他のサイト

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

いいねなど

 RSS 
PageSpeedInsights
html5チェック

Author: Tomoyuki Ito

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