java fx combox,combobox – 带有FXML的组合框JavaFx
请参阅此
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相关推荐
- JAVA中Swing组件的标签,组合框和列表
依旧接着上一篇文章来介绍Swing组件: 一.JLabel: 标签就是一个静态文本,使用方法也是很简单: 我们看一下例子: public class Action extends JFrame{JLa ...
- Python之tkinter 组合框 Combobox
文章目录 组合框 Combobox 简介 建立 Combobox 设置默认选项 current() 获得目前选项 get() 绑定 Combobox 组合框 Combobox 简介 Combobox ...
- Java Swing桌面应用开发-组件-组合框
1:什么是组合框 如下图,类似这样的 就是组合框 2:实现上述这个组合框 2.1:代码实现 /*** 组合框的学习* */ package Swing;import java.awt.Containe ...
- C#窗体控件-组合框控件ComboBox
Windows窗体中的组合框(ComboBox)控件用于在下拉组合框中显示数据.组合框控件结合了文本框和列表框控件的特点,用户可以在组合框内输入文本,也可以在列表框中选择项目. ComboBox 控件 ...
- java fx fxml界面_使用 JavaFX 2.0 FXML 呈现企业应用程序的 UI
使用 JavaFX 2.0 FXML 呈现企业级应用程序 UI 作者:James L. Weaver 使用 FX 标记语言的强大功能定义企业级应用程序的 UI. 2012 年 6 月发布 下载: :示 ...
- EasyUI中Combox组合框的简单使用
场景 效果 用法 从带有预定义结构的 <select> 元素创建组合框(combobox). <select id="cc" class="easyui ...
- Java学习day078 Swing用户界面组件(四:选择组件)(复选框、单选钮、边框、组合框、滑动条)
使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识. day078 Swing用户界面组件(四:选择组件)(复选框.单选钮.边框.组合框.滑动条) 前 ...
- java 组合框_Java知多少(88)列表和组合框
列表和组合框是又一类供用户选择的界面组件,用于在一组选择项目选择,组合框还可以输入新的选择. 列表 列表(JList)在界面中表现为列表框,是JList类或它的子类的对象.程序可以在列表框中加入多个文 ...
- JQuery Easy Ui 可装载组合框 - ComboBox
可装载组合框 - ComboBox 继承自$.fn.combo.defaults,通过$.fn.combobox.defaults覆盖默认值 combobox显示的是一个可以编辑的文本框和一个下拉列表 ...
- java pdf表单域实现_Java 创建PDF表单域 - 文本框、复选框、列表框、组合框、按钮等...
表单域包括文本框.复选框.列表框.组合框.按钮和签名域等,主要用于收集用户填写或选择的数据.这篇文章将介绍如何在Java应用程序中给PDF文档添加表单域. 导入jar文件 本文所使用的PDF类库是Fr ...
最新文章
- LeetCode简单题之递增顺序搜索树
- list循环赋值_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环
- Sedawk笔记之awk篇:快速了解Awk(三)
- 大学计算机二级培训蹭课,本人在复旦大学蹭课总结的一点小小的经验
- 修改mysql锁空间大小
- POM思想__多个页面时进行的处理
- nginx linux 下载安装,Linux(CentOS)下载安装Nginx并配置
- 当前脚本文件中调用另外一个脚本
- 关于明星投票系统的作业分享
- head first 设计模式 java_吐血整理:Head First设计模式大全
- 【kvm虚拟化详解01】-虚拟化概述和主流方案介绍
- Blender 快捷键总结,一些子问题
- ai的预览模式切换_ai模式切换快捷键是什么啊?ai模式切换方法
- ai背景合成_AI突破次元壁又火了!《飞屋环游记》动漫角色一秒变真人,网友:小罗的“猫王发型”有点酷...
- Kotlin苦海无涯(四) Object
- android多任务列表高斯模糊
- php高仿互站网源码,2020新版友价高仿互站网源码 虚拟交易商城整站源码
- 入门百度地图 JavaScript API
- KMP算法-严蔚敏数据结构
- 语义计算_语义多态性如何在量子计算中起作用