javafx-在listview中添加了點擊事件后會執行多次

現象

我在一個按鈕的點擊事件中添加了,點擊事件的監聽如下,就會造成我多次點擊按鈕后,里面打開瀏覽器會執行多次

  listviewitemListener = new ChangeListener() {@Overridepublic void changed(ObservableValue observable, Object oldValue, Object newValue) {int start = 0;String numStr = null;String valuesStr = newValue.toString();String[] strArray = valuesStr.split(":");valuesStr = strArray[1];numStr = valuesStr.substring(0, 8);if (Integer.valueOf(numStr) > 0) {String finalNumStr = numStr;Platform.runLater(new Runnable() {@Overridepublic void run() {String path = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe";String target = "https://xxxx=" + finalNumStr;List<String> cmd = new ArrayList<String>();cmd.add(path);
//                            cmd.add("--start-maximized");// 窗口啟動最大化
//                            cmd.add("--incognito");// 隱身模式打開
//                            cmd.add("--user-data-dir=D:/test");cmd.add(target);ProcessBuilder process = new ProcessBuilder(cmd);try {process.start();} catch (IOException e) {e.printStackTrace();}}});}}};infoLV.getSelectionModel().selectedItemProperty().addListener(listviewitemListener);

解決方法

先把listener設置為類的屬性,開始設置為null,然后在按鈕點擊的時候判斷不為null的時候remove這個listener就可以了

private ChangeListener listviewitemListener=null;@FXML
void check(ActionEvent event)  {if(listviewitemListener!=null){infoLV.getSelectionModel().selectedItemProperty().removeListener(listviewitemListener);}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215757.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215757.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215757.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python基礎期末復習 新手

類是創建實例的模板&#xff0c;而實例則是一個一個具體的對象&#xff0c;各個實例擁有的數據都互相獨立&#xff0c;互不影響。 實例方法是一個普通的函數&#xff0c;類方法和靜態方法都是通過函數裝飾器的方式實現的&#xff1b;實例方法需要傳入self&#xff0c;類方法需…

git強制回滾,遠程強制更新,git pull強制更新

注意&#xff1a;這里是強制回滾&#xff0c;回滾后&#xff0c;之后歷史的就沒有了&#xff0c;慎用。 本地強制回滾 強制回滾到上一個版本 git reset --hard HEAD^強制回滾上上個版本 git reset --hard HEAD^^git log查看版本 git log --prettyonelinegit log --prettyf…

高通平臺開發系列講解(USB篇)MBIM驅動詳解

文章目錄 一、數據結構二、源碼分析三、adroid_mbim創建四、讀寫 /dev/adroid_mbim4.1、讀gsi_ctrl_dev_read4.2、寫gsi_ctrl_dev_write沉淀、分享、成長,讓自己和他人都能有所收獲!?? ??本文主要介紹高通平臺USB網卡MBIM驅動。 一、數據結構 目錄:drivers/usb/gadget/…

【cocotb】【達坦科技DatenLord】Cocotb Workshop分享

https://www.bilibili.com/video/BV19e4y1k7EE/?spm_id_from333.337.search-card.all.click&vd_sourcefd0f4be6d0a5aaa0a79d89604df3154a 方便RFM實現 cocotb_test 替代makefile &#xff0c; 類似python 函數執行

java web系統的常見安全問題

一、背景 java開發的系統在發布到互聯網后都需要進行安全掃描&#xff0c;本文主要總結開發web系統需要注意的與系統安全相關的問題。因為在做需求開發時&#xff0c;很少產品會將系統安全的因素考慮在內&#xff0c;總覺得實現個需求很簡單&#xff0c;就是一些頁面&#xff0…

.Net6.0 Microsoft.AspNetCore.Http.Abstractions 2.20 已棄用

您想要升級 Microsoft.AspNetCore.Http.Abstractions 包&#xff0c;您需要注意以下幾點&#xff1a; Microsoft.AspNetCore.Http.Abstractions 包在 ASP.NET Core 2.2 版本后已經被標記為過時&#xff0c;因為它已經被包含在 Microsoft.AspNetCore.App 框架引用中12。因此&am…

零基礎自學Python的最全時間規劃表

文章目錄 前言第一階段:熟悉Python第二階段:軟件開發第三階段:成為程序員關于Python技術儲備一、Python所有方向的學習路線二、Python基礎學習視頻三、精品Python學習書籍四、Python工具包項目源碼合集①Python工具包②Python實戰案例③Python小游戲源碼五、面試資料六、Python…

產品固件燒寫方案

1、前言 一成熟的量產的嵌入式產品&#xff0c;軟件一般分為BootLoader和App&#xff0c;BootLoader用于啟動校驗、App升級、App版本回滾等功能&#xff0c;BootLoader在cpu上電第一階段中運行&#xff0c;之后跳轉至App地址執行應用程序。 因此&#xff0c;在發布固件的時候&a…

使用Mockjs模擬(假數據)接口(axios)

一、什么是MockJs Mock.js官網 Mock.wiki.git mock測試就是在測試過程中&#xff0c;對于某些不容易構造或者不容易獲取的對象&#xff0c;用一個虛擬的對象來創建以便測試的測試方法。 二、安裝mockjs npm install mockjs 三、 MockJs使用 簡單使用&#xff1a; // 使用…

JFrog----常見的開源協議以及應用注意點

文章目錄 1. MIT 許可證2. GPL&#xff08;通用公共許可證&#xff09;3. LGPL&#xff08;較寬松的通用公共許可證&#xff09;4. Apache 許可證 2.05. BSD 許可證開源協議的選擇和注意點結論 開源軟件近年來在軟件開發中變得越來越流行。使用開源軟件可以節省時間和資源&…

Unity優化——加速物理引擎1

大家好&#xff0c;這里是七七&#xff0c;今天開始更新物理引擎相關的優化部分了&#xff0c;本文介紹的是物理引擎內部工作情況。 Unity技術有兩種不同的物理引擎&#xff1a;用于3D物理的Nvidia的PhysX和用于2D物理的開源項目Box2D。然而&#xff0c;Unity對它們的實現是高…

Nginx rewrite 參數

目錄 常用的Nginx 正則表達式 rewrite 和 location的區別 location location 大致分三類&#xff1a; location 常用的匹配規則&#xff1a; location 優先級&#xff1a; rewrite rewrite跳轉實現 rewrite 執行順序如下 語法格式 flag標記說明 rewrite實際操作 基…

【虹科干貨】使用Netropy廣域網模擬器測試簡化SD-WAN測試

文章速覽&#xff1a; 為什么需要WAN模擬器&#xff1f;什么是WAN模擬器&#xff1f;用WAN模擬器測試SD-WANSD-WAN損傷測試 現如今大家都在使用SD-WAN產品節省網絡成本&#xff0c;但是也面臨著一些復雜的算發問題&#xff0c;那么如何簡化SD-WAN系統的測試和評估&#xff1f;…

Ubuntu部署EMQX開源版MQTT服務器-Orange Pi部署-服務器部署

一、前言 作為全球最具擴展性的 MQTT 消息服務器&#xff0c;EMQX 提供了高效可靠海量物聯網設備連接&#xff0c;能夠高性能實時移動與處理消息和事件流數據&#xff0c;本文將介紹如何在Ubuntu 22.04上部署MQTT服務器。我們本次選擇開源版&#xff0c;使用離線安裝方式部署。…

總結6種@Transactional注解的失效場景

作者簡介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中興通訊、美團架構師&#xff0c;現某互聯網公司CTO 聯系qq&#xff1a;184480602&#xff0c;加我進群&#xff0c;大家一起學習&#xff0c;一起進步&#xff0c;一起對抗互聯網寒冬 引言 昨天有粉絲咨詢了…

超卓航科引領冷噴涂增材制造革新,推動先進核反應堆發展

近日&#xff0c;超卓航科憑借其卓越的冷噴涂增材制造技術&#xff0c;成為推動核能領域創新的重要力量。該公司利用冷噴涂工程技術&#xff0c;或為核反應堆的制造和修復開辟了全新的道路。 冷噴涂技術是一種頗具前景的固態粉末沉積方法&#xff0c;可用于涂層制造、增材制造和…

GNSS - PPP軟件 - GAMP 在VS2019/2022下完成調試、跑通程序(超詳細!)

目錄 一、前期準備 二、調試詳細步驟 1.VS中新建項目 2.復制源碼至項目文件夾 3.將源碼中“.c”文件和“.h”文件添加至項目指定位置 4.修改項目屬性&#xff1a; (1)【 配置屬性 -> C/C ->預處理器 ->預處理器定義】添加如下 (2)【配置屬性->鏈接器->調…

《C++ Primer》第12章 動態內存(二)

參考資料&#xff1a; 《C Primer》第5版《C Primer 習題集》第5版 12.1.5 unique_ptr&#xff08;P417&#xff09; unique “擁有”它所指向的對象&#xff0c;某個時刻只能有一個 unique_ptr 指向一個給定對象。 當我們定義一個 unique_ptr 時&#xff0c;需要將其綁定到…

游戲中小地圖的制作__unity基礎開發教程

小地圖的制作 Icon標識制作制作攝像機映射創建地圖UI效果“不一樣的效果” 在游戲中經常可以看到地圖視角的存在&#xff0c;那么地圖視角是如何讓實現的呢&#xff1f; 這一期教大家制作一個簡易的小地圖。 &#x1f496;點關注&#xff0c;不迷路。 老樣子&#xff0c;我們還…

Leetcode 131 分割回文串

題意理解&#xff1a; 分割回文子串&#xff0c;可以看作是劃分連續的字幕組合——所以也可以用回溯的方法來解決 每個位置選與不選——該位置切割|不切割 對于每一段子串——>判斷是否是回文串&#xff1a; 是&#xff1a; 繼續切割 不是&#xff1a; 剪枝 解題方法…