最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaFX如何獲取ListView(列表視圖)的選項(xiàng)

 更新時(shí)間:2024年01月02日 10:21:10   作者:閃光的回憶  
這篇文章主要介紹了JavaFX如何獲取ListView(列表視圖)的選項(xiàng),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

我們使用下面的圖片進(jìn)行舉例,點(diǎn)擊左側(cè)ListView選項(xiàng),右側(cè)label面板顯示對應(yīng)顏色。

如何獲取用戶的選擇項(xiàng)?

圖片示例

上代碼

		/**
         * listView的事件處理添加
         */
        listView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
            //s:改變前的值    t1:改變后的值
            @Override
            public void changed(ObservableValue<? extends String> observableValue, String s, String t1) {
                if ("AQUAMARINE".equals(t1)){
                    label.setStyle("-fx-background-color: AQUAMARINE" );
                }else if ("SPRINGGREEN".equals(t1)){
                    label.setStyle("-fx-background-color: SPRINGGREEN");
                }else if ("Tan".equals(t1)){
                    label.setStyle("-fx-background-color: Tan");
                }
            }
        });

其中“ ”中的字母為色彩代碼,通過上面的代碼即可為ListView添加事件處理

---------------------分界線---------------------

下面是完整代碼

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Ellipse;
import javafx.stage.Stage;
import javafx.util.Callback;

/**
 * 點(diǎn)擊顏色塊顯示對應(yīng)顏色的圖形
 * @author C y c l e
 */
public class ListViewColorDemo extends Application {
    private BorderPane root = new BorderPane();
    private ListView<String> listView = new ListView<>(FXCollections.observableArrayList(
            "AQUAMARINE", "SPRINGGREEN", "Tan"
    ));
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        Label label = new Label("色彩塊");
        label.setPrefSize(200, 300);
        label.setStyle("-fx-background-color: #ffffff");
        VBox vBox = new VBox(5);
        vBox.setPrefSize(200, 300);
        vBox.getChildren().add(listView);
        root.setLeft(vBox);
        root.setRight(label);

        //將listView設(shè)置為單元工廠
        listView.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
            @Override
            public ListCell<String> call(ListView<String> stringListView) {
                //返回一個(gè)自定義的ListCell實(shí)現(xiàn)類對象
                return new ColorCell();
            }
        });
        /**
         * listView的事件處理添加
         */
        listView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
            //s:改變前的值    t1:改變后的值
            @Override
            public void changed(ObservableValue<? extends String> observableValue, String s, String t1) {
                if ("AQUAMARINE".equals(t1)){
                    label.setStyle("-fx-background-color: AQUAMARINE" );
                }else if ("SPRINGGREEN".equals(t1)){
                    label.setStyle("-fx-background-color: SPRINGGREEN");
                }else if ("Tan".equals(t1)){
                    label.setStyle("-fx-background-color: Tan");

                }
            }
        });

        primaryStage.setScene(new Scene(root, 400, 300));
        primaryStage.show();
    }

    /**
     * 自定義一個(gè)帶顏色的單元格
     */
    class ColorCell extends ListCell<String>{
        @Override
        protected void updateItem(String s, boolean b) {
            super.updateItem(s, b);
            Ellipse ellipse = new Ellipse(70, 10);
            //設(shè)置圖形顏色
            if (!b){
                ellipse.setFill(Color.web(s));
                setGraphic(ellipse);
            }
        }
    }
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java之使用POI教你玩轉(zhuǎn)Excel導(dǎo)入與導(dǎo)出

    Java之使用POI教你玩轉(zhuǎn)Excel導(dǎo)入與導(dǎo)出

    這篇文章主要介紹了Java之使用POI教你玩轉(zhuǎn)Excel導(dǎo)入與導(dǎo)出,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • SpringBoot 集成 Jasypt 對數(shù)據(jù)庫加密以及踩坑的記錄分享

    SpringBoot 集成 Jasypt 對數(shù)據(jù)庫加密以及踩坑的記錄分享

    這篇文章主要介紹了SpringBoot 集成 Jasypt 對數(shù)據(jù)庫加密以及踩坑,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 關(guān)于SpringCloud的微服務(wù)以及組件詳解

    關(guān)于SpringCloud的微服務(wù)以及組件詳解

    這篇文章主要介紹了關(guān)于SpringCloud的微服務(wù)以及組件詳解,是一個(gè)更高層次的、 架構(gòu)視角的綜合性大型項(xiàng)目, 他的目標(biāo)是構(gòu)建一套標(biāo)準(zhǔn)化的微服務(wù)解決方案,需要的朋友可以參考下
    2023-05-05
  • 如何解決@value獲取不到y(tǒng)aml數(shù)組的問題

    如何解決@value獲取不到y(tǒng)aml數(shù)組的問題

    文章介紹了在使用YAML配置文件時(shí),通過@Value注解獲取整數(shù)和數(shù)組列表的配置方法,并提供了兩種解決方案:一種適用于非嵌套列表,另一種適用于嵌套列表等復(fù)雜配置
    2024-11-11
  • Spring Batch批量處理數(shù)據(jù)實(shí)現(xiàn)方式

    Spring Batch批量處理數(shù)據(jù)實(shí)現(xiàn)方式

    SpringBatch是一個(gè)用于創(chuàng)建高效、健壯批量數(shù)據(jù)處理應(yīng)用的框架,支持事務(wù)管理、并發(fā)處理、重試機(jī)制、跳過機(jī)制等特性,它由Spring框架的一部分,包括Job、Step、ItemReader、ItemProcessor、ItemWriter等核心組件,在SpringBoot項(xiàng)目中集成SpringBatch
    2025-12-12
  • Java代碼讀取properties配置文件的示例代碼

    Java代碼讀取properties配置文件的示例代碼

    這篇文章主要介紹了Java代碼讀取properties配置文件,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • 基于Mybatis實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換的示例代碼

    基于Mybatis實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換的示例代碼

    在當(dāng)今的互聯(lián)網(wǎng)應(yīng)用中,微服務(wù)大行其道,隨著業(yè)務(wù)的發(fā)展和擴(kuò)展,單一的數(shù)據(jù)庫無法滿足日益增長的數(shù)據(jù)需求,本文將基于 JDK17 + Spring Boot 3 和 MyBatis 框架實(shí)現(xiàn)動(dòng)態(tài)切換數(shù)據(jù)源功能,需要的朋友可以參考下
    2024-09-09
  • Spring的事務(wù)控制實(shí)現(xiàn)方法

    Spring的事務(wù)控制實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Spring的事務(wù)控制實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • java多線程之停止線程的方法實(shí)例代碼詳解

    java多線程之停止線程的方法實(shí)例代碼詳解

    這篇文章主要介紹了java多線程之停止線程的方法實(shí)例代碼詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • JavaWeb文件上傳下載實(shí)例講解(酷炫的文件上傳技術(shù))

    JavaWeb文件上傳下載實(shí)例講解(酷炫的文件上傳技術(shù))

    在Web應(yīng)用系統(tǒng)開發(fā)中,文件上傳功能是非常常用的功能,今天來主要講講JavaWeb中的文件上傳功能的相關(guān)技術(shù)實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-11-11

最新評論

莒南县| 湾仔区| 丰台区| 洛宁县| 米脂县| 成安县| 精河县| 彰化市| 巴里| 调兵山市| 梁山县| 保康县| 隆回县| 兴城市| 乌恰县| 琼结县| 长葛市| 铅山县| 南通市| 蒲城县| 揭东县| 郎溪县| 磐石市| 新丰县| 南安市| 临汾市| 潜江市| 左云县| 宣威市| 兴山县| 紫阳县| 南京市| 龙陵县| 佳木斯市| 沙田区| 金门县| 六枝特区| 奉新县| 玉林市| 科技| 招远市|