ともさんの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 >チェックボックス

広告
新着ページ

AIを利用し、衣服のデザイン画から型紙を制作する方法  
2つのアパレル3D技術でひらくオーダーメイド生産の手法  
【洋裁型紙】前後身頃の肩の傾きは何故前身頃の方が傾いているのか  
電子追尾式天体写真撮影法  
日本ミツバチ巣箱の種類  
ドラフター(製図台)でソーイング  
日本ミツバチが逃亡  
カメさんの箱庭  
天体用デジタルカメラの構造と天体写真  
Javaで静止画像(Jpeg)を動画(Mov)に変換  
USBカメラをJAVAで制御  

他のサイト

3D-CAD
洋裁CAD

いいねなど

 RSS 

Author: Tomoyuki Ito

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