public List<Button>buttons = new List<Button>(); public List<GameObject>gojs= new List<GameObject>(); public List<GameObject>parentgojs= new List<GameObject>(); void Start() { for (int i =0;i<buttons.Count; i++) { buttons[i].onClick.AddListener(()=> ShowHideOpenManager.instance.GetListObjectByChild(gojs[i], ShowHideOpenManager.instance.modules)); } }

时间: 2024-04-15 11:24:50 浏览: 14
这段代码中,你创建了三个列表:`buttons`、`gojs`和`parentgojs`,分别用于存储Button、GameObject和父级GameObject的引用。 在`Start()`方法中,你使用一个循环来为按钮列表中的每个按钮添加点击事件的监听器。在每个按钮的点击事件中,使用Lambda表达式调用`ShowHideOpenManager.instance.GetListObjectByChild()`方法,并传递相应的参数。这个方法似乎是从`ShowHideOpenManager`类的实例中获取一个子GameObject的列表,并将其与`ShowHideOpenManager.instance.modules`列表进行比较。 请确保在执行此代码之前,已经为`buttons`、`gojs`和`parentgojs`列表分配了正确的引用,并且`ShowHideOpenManager.instance`是一个有效的实例。同时,确保`ShowHideOpenManager.instance.GetListObjectByChild()`方法已经正确实现。
相关问题

<div class="map-buttons"> <button class="map-button" @click="detectConflict"> <div class="map-button-content"> <span class="map-button-icon"></span> <span class="map-button-name">冲突检测</span> </div> </button> <button class="map-button" @click="captureScreenshot"> <div class="map-button-content"> <span class="map-button-icon"></span> <span class="map-button-name">截图</span> </div> </button> <button class="map-button" @click="generateMap"> <div class="map-button-content"> <span class="map-button-icon"></span> <span class="map-button-name">制图</span> </div> </button> <button class="map-button" @click="zoomIn"> <div class="map-button-content"> <span class="map-button-icon"></span> <span class="map-button-name">放大</span> </div> </button> <button class="map-button" @click="zoomOut"> <div class="map-button-content"> <span class="map-button-icon"></span> <span class="map-button-name">缩小</span> </div> </button> <button class="map-button" @click="showFullMap"> <div class="map-button-content"> <span class="map-button-icon"></span> <span class="map-button-name">全图</span> </div> </button> </div>改写成按钮名不在按钮元素中,而在按钮正下方

<div class="map-buttons"> <button class="map-button" @click="detectConflict">冲突检测</button> <button class="map-button" @click="captureScreenshot">截图</button> <button class="map-button" @click="generateMap">制图</button> <button class="map-button" @click="zoomIn">放大</button> <button class="map-button" @click="zoomOut">缩小</button> <button class="map-button" @click="showFullMap">全图</button> <div class="map-button-descriptions"> <span class="map-button-description">检测是否有冲突</span> <span class="map-button-description">捕捉屏幕截图</span> <span class="map-button-description">生成地图</span> <span class="map-button-description">放大地图</span> <span class="map-button-description">缩小地图</span> <span class="map-button-description">查看全图</span> </div> </div>

<h1>通讯录</h1> <button class="add-btn">添加联系人</button> <input type="text" id="search-input" placeholder="搜索姓名或电话"> <table> <thead> <tr> <th>姓名</th> <th>电话</th> <th>邮箱</th> <th>操作</th> </tr> </thead> <tbody id="contact-list"> <!-- 数据渲染 --> </tbody> </table> <!-- 分页按钮 --> <div id="page-buttons"></div> <!-- 弹出层,用于添加或编辑联系人 --> <div id="modal" class="modal" style="display: none;"> <div class="modal-content"> <span class="close">×</span> <form> <div class="form-group"> <label for="name">姓名</label> <input type="text" id="name" name="name" required> </div> <div class="form-group"> <label for="phone">电话</label> <input type="text" id="phone" name="phone" required> </div> <div class="form-group"> <label for="email">邮箱</label> <input type="text" id="email" name="email" required> </div> <button id="save-btn">保存</button> <button id="cancel-btn">取消</button> </form> </div> </div>帮我加入一个搜索框,通过搜索框的内容可以查找到查找的内容,让数据具有添加删除和编辑的功能,编辑的时候增加弹窗

好的,你需要在代码中添加以下功能: 1. 在搜索框上绑定一个事件监听器,当输入框中有内容输入时,筛选出匹配的联系人并进行渲染。 2. 在每个联系人的操作列中添加删除和编辑按钮,并为它们绑定事件监听器。 3. 当点击编辑按钮时,在弹出层中显示该联系人的信息,并将保存按钮改为更新按钮。 4. 当点击保存按钮时,将新的联系人信息保存到数据中并渲染页面。 5. 当点击更新按钮时,将编辑后的联系人信息更新到数据中并重新渲染页面。 下面是修改后的代码: ```html <h1>通讯录</h1> <button class="add-btn">添加联系人</button> <input type="text" id="search-input" placeholder="搜索姓名或电话"> <table> <thead> <tr> <th>姓名</th> <th>电话</th> <th>邮箱</th> <th>操作</th> </tr> </thead> <tbody id="contact-list"> <!-- 数据渲染 --> </tbody> </table> <!-- 分页按钮 --> <div id="page-buttons"></div> <!-- 弹出层,用于添加或编辑联系人 --> <div id="modal" class="modal" style="display: none;"> <div class="modal-content"> <span class="close">×</span> <form> <div class="form-group"> <label for="name">姓名</label> <input type="text" id="name" name="name" required> </div> <div class="form-group"> <label for="phone">电话</label> <input type="text" id="phone" name="phone" required> </div> <div class="form-group"> <label for="email">邮箱</label> <input type="text" id="email" name="email" required> </div> <button id="save-btn">保存</button> <button id="update-btn" style="display: none;">更新</button> <button id="cancel-btn">取消</button> </form> </div> </div> <script> // 数据 let contacts = [ { name: "张三", phone: "13456789012", email: "zhangsan@example.com" }, { name: "李四", phone: "15678901234", email: "lisi@example.com" }, { name: "王五", phone: "18901234567", email: "wangwu@example.com" }, { name: "赵六", phone: "13245678901", email: "zhaoliu@example.com" }, { name: "钱七", phone: "17509876543", email: "qianqi@example.com" } ]; // 渲染联系人列表 function renderContacts(contacts) { const tbody = document.getElementById("contact-list"); tbody.innerHTML = ""; contacts.forEach((contact, index) => { const tr = document.createElement("tr"); tr.innerHTML = ` <td>${contact.name}</td> <td>${contact.phone}</td> <td>${contact.email}</td> <td> <button class="delete-btn" data-index="${index}">删除</button> <button class="edit-btn" data-index="${index}">编辑</button> </td> `; tbody.appendChild(tr); }); } // 添加联系人 function addContact(contact) { contacts.push(contact); renderContacts(contacts); } // 删除联系人 function deleteContact(index) { contacts.splice(index, 1); renderContacts(contacts); } // 编辑联系人 function editContact(index) { const contact = contacts[index]; document.getElementById("name").value = contact.name; document.getElementById("phone").value = contact.phone; document.getElementById("email").value = contact.email; document.getElementById("save-btn").style.display = "none"; document.getElementById("update-btn").style.display = "inline-block"; document.getElementById("modal").style.display = "block"; document.getElementById("update-btn").addEventListener("click", () => { updateContact(index); }); } // 更新联系人 function updateContact(index) { contacts[index].name = document.getElementById("name").value; contacts[index].phone = document.getElementById("phone").value; contacts[index].email = document.getElementById("email").value; document.getElementById("modal").style.display = "none"; document.getElementById("update-btn").removeEventListener("click", updateContact); renderContacts(contacts); } // 绑定事件监听器 document.querySelector(".add-btn").addEventListener("click", () => { document.getElementById("name").value = ""; document.getElementById("phone").value = ""; document.getElementById("email").value = ""; document.getElementById("save-btn").style.display = "inline-block"; document.getElementById("update-btn").style.display = "none"; document.getElementById("modal").style.display = "block"; }); document.querySelector(".close").addEventListener("click", () => { document.getElementById("modal").style.display = "none"; }); document.querySelector("#cancel-btn").addEventListener("click", () => { document.getElementById("modal").style.display = "none"; }); document.getElementById("save-btn").addEventListener("click", (event) => { event.preventDefault(); const contact = { name: document.getElementById("name").value, phone: document.getElementById("phone").value, email: document.getElementById("email").value }; addContact(contact); document.getElementById("modal").style.display = "none"; }); document.getElementById("search-input").addEventListener("input", () => { const keyword = document.getElementById("search-input").value.trim(); const filteredContacts = contacts.filter((contact) => { return contact.name.includes(keyword) || contact.phone.includes(keyword); }); renderContacts(filteredContacts); }); document.getElementById("contact-list").addEventListener("click", (event) => { const target = event.target; if (target.classList.contains("delete-btn")) { deleteContact(target.getAttribute("data-index")); } else if (target.classList.contains("edit-btn")) { editContact(target.getAttribute("data-index")); } }); // 初始化 renderContacts(contacts); </script> ```

相关推荐

添加 修改 删除 手动运行数据更新器 选中 时间 总居民消费CPI 食品类CPI 衣着类CPI 居住类CPI 服务类CPI 交通通信类CPI 教育类CPI 医药类CPI 其他类CPI <c:forEach items="${cpi}" var="i"> <input name="radiobox" type="radio" value=${i.TIMES}/> <c:if test="${i.TIMES==999999}"> 预测本月 </c:if> <c:if test="${i.TIMES!=999999}"> ${i.TIMES} </c:if> ${i.CPI} ${i.FOOD} ${i.CLOTH} ${i.RESIDE} ${i.SERVICE} ${i.TRANS} ${i.EDU} ${i.MEDIC} ${i.OTHER} </c:forEach> 我希望页面在点击修改和删除的时候把单选框的value提交给服务器,我应该怎么改

import java.io.*; import java.awt.*; import javax.swing.*; import java.util.List; import java.util.ArrayList; public class Recite extends JFrame{ JLabel lblWord = new JLabel("word"); JLabel lblMeaning = new JLabel("meaning"); public void init() { setSize( 400,100 ); setLayout(new FlowLayout()); getContentPane().add(lblWord); getContentPane().add(lblMeaning); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } List<String> words = new ArrayList<>(); List<String> meanings = new ArrayList<>(); int current = 0; public void start() { new Thread(()->{ try{ readAll(); }catch(IOException ex){} new javax.swing.Timer(1000,(e)->{ lblWord.setText( words.get(current) ); lblMeaning.setText( meanings.get(current) ); current++; }).start(); }).start(); } public void readAll( ) throws IOException{ String fileName = "College_Grade4.txt"; String charset = "GB2312"; BufferedReader reader = new BufferedReader( new InputStreamReader( new FileInputStream(fileName), charset)); String line; while ((line = reader.readLine()) != null) { line = line.trim(); if( line.length() == 0 ) continue; int idx = line.indexOf("\t"); words.add( line.substring(0, idx )); meanings.add( line.substring(idx+1)); } reader.close(); } public static void main( String[] args){ Recite f = new Recite(); f.init(); f.start(); }}界面可以再好看一点;可以去掉音标;可以改变单词显示的速度;可以增加标记生词并记到生词本中;可以增加测试的功能(单词含义可以随机选4个词的含义来让用户选择)等等。附件中有两个代码,一个单词本。

最新推荐

recommend-type

Java开发案例-springboot-66-自定义starter-源代码+文档.rar

Java开发案例-springboot-66-自定义starter-源代码+文档.rar Java开发案例-springboot-66-自定义starter-源代码+文档.rar Java开发案例-springboot-66-自定义starter-源代码+文档.rar Java开发案例-springboot-66-自定义starter-源代码+文档.rar Java开发案例-springboot-66-自定义starter-源代码+文档.rar Java开发案例-springboot-66-自定义starter-源代码+文档.rar
recommend-type

单家独院式别墅图纸D027-三层-12.80&10.50米-施工图.dwg

单家独院式别墅图纸D027-三层-12.80&10.50米-施工图.dwg
recommend-type

啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦

啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

HSV转为RGB的计算公式

HSV (Hue, Saturation, Value) 和 RGB (Red, Green, Blue) 是两种表示颜色的方式。下面是将 HSV 转换为 RGB 的计算公式: 1. 将 HSV 中的 S 和 V 值除以 100,得到范围在 0~1 之间的值。 2. 计算色相 H 在 RGB 中的值。如果 H 的范围在 0~60 或者 300~360 之间,则 R = V,G = (H/60)×V,B = 0。如果 H 的范围在 60~120 之间,则 R = ((120-H)/60)×V,G = V,B = 0。如果 H 的范围在 120~180 之间,则 R = 0,G = V,B =
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

MATLAB柱状图在数据分析中的作用:从可视化到洞察

![MATLAB柱状图在数据分析中的作用:从可视化到洞察](https://img-blog.csdnimg.cn/img_convert/1a36558cefc0339f7836cca7680c0aef.png) # 1. MATLAB柱状图概述** 柱状图是一种广泛用于数据可视化的图表类型,它使用垂直条形来表示数据中不同类别或组别的值。在MATLAB中,柱状图通过`bar`函数创建,该函数接受数据向量或矩阵作为输入,并生成相应的高度条形。 柱状图的优点在于其简单性和易于理解性。它们可以快速有效地传达数据分布和组别之间的比较。此外,MATLAB提供了广泛的定制选项,允许用户调整条形颜色、