请参阅此

JavaFX FXML ComboBox demo app.对于动态数据,您可以使用类似于

Velocity的东西动态生成fxml,或者更好的是,填充ObservableList并将其提供给fxml注入的ComboBox实例.

这是演示应用程序的修改版本,它在控制器初始化程序中填充ComboBox项目的ObservableList.

fruitcombo.css

/** fruitcombo.css

place in same directory as FruitComboApplication.java

ensure build system copies the css file to the build output path */

.layout {

-fx-background-color: cornsilk;

}

#selected-fruit-frame {

-fx-border-color: burlywood;

-fx-border-width: 5;

-fx-background-color: white;

}

.bold-label {

-fx-font-weight: bold;

}

fruitcombo.fxml

FruitComboController.java

package fruit;

import java.net.URL;

import java.util.ResourceBundle;

import javafx.beans.value.ChangeListener;

import javafx.beans.value.ObservableValue;

import javafx.fxml.FXML;

import javafx.fxml.Initializable;

import javafx.scene.control.ComboBox;

import javafx.scene.control.Label;

import javafx.scene.image.ImageView;

/** JavaFX fxml controller for fruit combo fxml demo application. */

public class FruitComboController implements Initializable {

@FXML // fx:id="appleImage"

private ImageView appleImage; // Value injected by FXMLLoader

@FXML // fx:id="fruitCombo"

private ComboBox fruitCombo; // Value injected by FXMLLoader

@FXML // fx:id="orangeImage"

private ImageView orangeImage; // Value injected by FXMLLoader

@FXML // fx:id="pearImage"

private ImageView pearImage; // Value injected by FXMLLoader

@FXML // fx:id="selectedFruit"

private Label selectedFruit; // Value injected by FXMLLoader

@Override // This method is called by the FXMLLoader when initialization is complete

public void initialize(URL fxmlFileLocation, ResourceBundle resources) {

assert appleImage != null : "fx:id=\"appleImage\" was not injected: check your FXML file 'fruitcombo.fxml'.";

assert fruitCombo != null : "fx:id=\"fruitCombo\" was not injected: check your FXML file 'fruitcombo.fxml'.";

assert orangeImage != null : "fx:id=\"orangeImage\" was not injected: check your FXML file 'fruitcombo.fxml'.";

assert pearImage != null : "fx:id=\"pearImage\" was not injected: check your FXML file 'fruitcombo.fxml'.";

assert selectedFruit != null : "fx:id=\"selectedFruit\" was not injected: check your FXML file 'fruitcombo.fxml'.";

// populate the fruit combo box with item choices.

fruitCombo.getItems().setAll("Apple", "Orange", "Pear");

// bind the selected fruit label to the selected fruit in the combo box.

selectedFruit.textProperty().bind(fruitCombo.getSelectionModel().selectedItemProperty());

// listen for changes to the fruit combo box selection and update the displayed fruit image accordingly.

fruitCombo.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {

@Override public void changed(ObservableValue extends String> selected, String oldFruit, String newFruit) {

if (oldFruit != null) {

switch(oldFruit) {

case "Apple": appleImage.setVisible(false); break;

case "Orange": orangeImage.setVisible(false); break;

case "Pear": pearImage.setVisible(false); break;

}

}

if (newFruit != null) {

switch(newFruit) {

case "Apple": appleImage.setVisible(true); break;

case "Orange": orangeImage.setVisible(true); break;

case "Pear": pearImage.setVisible(true); break;

}

}

}

});

}

}

FruitComboApplication.java

package fruit;

import java.io.IOException;

import java.net.URL;

import javafx.application.Application;

import javafx.fxml.FXMLLoader;

import javafx.scene.Scene;

import javafx.scene.image.Image;

import javafx.scene.layout.AnchorPane;

import javafx.stage.Stage;

/** Main application class for fruit combo fxml demo application */

public class FruitComboApplication extends Application {

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

@Override public void start(Stage stage) throws IOException {

stage.setTitle("Choices");

stage.getIcons().add(new Image("http://files.softicons.com/download/application-icons/pixelophilia-icons-by-omercetin/png/32/apple-green.png"));

AnchorPane layout = FXMLLoader.load(

new URL(FruitComboApplication.class.getResource("fruitcombo.fxml").toExternalForm())

);

stage.setScene(new Scene(layout));

stage.show();

}

}

示例程序输出:

java fx combox,combobox – 带有FXML的组合框JavaFx相关推荐

  1. JAVA中Swing组件的标签,组合框和列表

    依旧接着上一篇文章来介绍Swing组件: 一.JLabel: 标签就是一个静态文本,使用方法也是很简单: 我们看一下例子: public class Action extends JFrame{JLa ...

  2. Python之tkinter 组合框 Combobox

    文章目录 组合框 Combobox 简介 建立 Combobox 设置默认选项 current() 获得目前选项 get() 绑定 Combobox 组合框 Combobox 简介 Combobox ...

  3. Java Swing桌面应用开发-组件-组合框

    1:什么是组合框 如下图,类似这样的 就是组合框 2:实现上述这个组合框 2.1:代码实现 /*** 组合框的学习* */ package Swing;import java.awt.Containe ...

  4. C#窗体控件-组合框控件ComboBox

    Windows窗体中的组合框(ComboBox)控件用于在下拉组合框中显示数据.组合框控件结合了文本框和列表框控件的特点,用户可以在组合框内输入文本,也可以在列表框中选择项目. ComboBox 控件 ...

  5. java fx fxml界面_使用 JavaFX 2.0 FXML 呈现企业应用程序的 UI

    使用 JavaFX 2.0 FXML 呈现企业级应用程序 UI 作者:James L. Weaver 使用 FX 标记语言的强大功能定义企业级应用程序的 UI. 2012 年 6 月发布 下载: :示 ...

  6. EasyUI中Combox组合框的简单使用

    场景 效果 用法 从带有预定义结构的 <select> 元素创建组合框(combobox). <select id="cc" class="easyui ...

  7. Java学习day078 Swing用户界面组件(四:选择组件)(复选框、单选钮、边框、组合框、滑动条)

    使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识. day078   Swing用户界面组件(四:选择组件)(复选框.单选钮.边框.组合框.滑动条) 前 ...

  8. java 组合框_Java知多少(88)列表和组合框

    列表和组合框是又一类供用户选择的界面组件,用于在一组选择项目选择,组合框还可以输入新的选择. 列表 列表(JList)在界面中表现为列表框,是JList类或它的子类的对象.程序可以在列表框中加入多个文 ...

  9. JQuery Easy Ui 可装载组合框 - ComboBox

    可装载组合框 - ComboBox 继承自$.fn.combo.defaults,通过$.fn.combobox.defaults覆盖默认值 combobox显示的是一个可以编辑的文本框和一个下拉列表 ...

  10. java pdf表单域实现_Java 创建PDF表单域 - 文本框、复选框、列表框、组合框、按钮等...

    表单域包括文本框.复选框.列表框.组合框.按钮和签名域等,主要用于收集用户填写或选择的数据.这篇文章将介绍如何在Java应用程序中给PDF文档添加表单域. 导入jar文件 本文所使用的PDF类库是Fr ...

最新文章

  1. LeetCode简单题之递增顺序搜索树
  2. list循环赋值_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环
  3. Sedawk笔记之awk篇:快速了解Awk(三)
  4. 大学计算机二级培训蹭课,本人在复旦大学蹭课总结的一点小小的经验
  5. 修改mysql锁空间大小
  6. POM思想__多个页面时进行的处理
  7. nginx linux 下载安装,Linux(CentOS)下载安装Nginx并配置
  8. 当前脚本文件中调用另外一个脚本
  9. 关于明星投票系统的作业分享
  10. head first 设计模式 java_吐血整理:Head First设计模式大全
  11. 【kvm虚拟化详解01】-虚拟化概述和主流方案介绍
  12. Blender 快捷键总结,一些子问题
  13. ai的预览模式切换_ai模式切换快捷键是什么啊?ai模式切换方法
  14. ai背景合成_AI突破次元壁又火了!《飞屋环游记》动漫角色一秒变真人,网友:小罗的“猫王发型”有点酷...
  15. Kotlin苦海无涯(四) Object
  16. android多任务列表高斯模糊
  17. php高仿互站网源码,2020新版友价高仿互站网源码 虚拟交易商城整站源码
  18. 入门百度地图 JavaScript API
  19. KMP算法-严蔚敏数据结构
  20. 语义计算_语义多态性如何在量子计算中起作用

热门文章

  1. 【正则】正则表达式基础知识大全
  2. Java线程池在业务中的实践
  3. MySQL指令集集合
  4. [转载] Linux进程状态解析之R、S、D、T、Z、X
  5. 网盘纷纷“隐退” 云存储仍是刚需
  6. 获得硬盘的ID序列号(XE10.1+WIN8.1)
  7. ios知识整理 (未完成)
  8. 语音分享应用ios源码项目
  9. JAVA里static 变量在程序执行结束后是否被消毁
  10. Linux时间子系统