java 变量名 字符串_如何使字符串值在java中调用特定的现有JButton变量名?
所以,我知道有这样的:
int number = Integer.parseInt("5");
String numtxt = Integer.toString(12);
double number = Double.parseDouble("4.5");
String numbertxt = Double.toString(8.2);
String letter = Character.toString('B');
char letter = "stringText".charAt(0);
so on...
但是我不知道如何使String值动态调用现有的JButton变量名;它甚至可能吗?
Let’s say, I have 4 JButton called btn1, btn2, btn3 and btnFillNumber;
I create a String called buttonName;
package testing;
public class Testing extends javax.swing.JFrame {
String buttonName;
int num;
public Testing() {
initComponents();
}
@SuppressWarnings("unchecked")
// Generated Code <<
private void btnFillNumberActionPerformed(java.awt.event.ActionEvent evt) {
for(num = 1; num <= 3; num++){
buttonName = "btn" + Integer.toString(num);
JButton.parseJButton(buttonName).setText(num);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
// Look and feel stteing code (optional) <<
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Testing().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btn1;
private javax.swing.JButton btn2;
private javax.swing.JButton btn3;
private javax.swing.JButton btnFillNumber;
// End of variables declaration
}
我知道没有JButton.parseJButton(),我只是不想做复杂的解释,我只想从String转换动态调用JButton的变量名.
看到这个:
for(num = 1; num <= 3; num++){
buttonName = "btn" + Integer.toString(num);
JButton.parseJButton(buttonName).setText(num);
}
我想用String做一个循环
>一个固定的字符串值(btn)和
>之后的增量数(1,2,3 ……)和
>使用来调用JButton.
我可以简单地做到这一点,但如果我得到25或更多呢?这就是我想要的循环……
btn1.setText("1");
btn2.setText("2");
btn3.setText("3");
Note that the value of these JButtons are not necessarily incremental in some purpose.
输出:
我真正的发展:
附:我用来在NetBeans Design中制作JFrame(只需点击并拖动调色板窗口中的对象,如JPanel,JButton等,所以除了制作我自己的逻辑方法外,我不会手动输入代码;而且我无法编辑代码在源视图中的灰色背景中,由设计视图自动生成,但在设计视图中.如果您有提示和指南,我将很乐意).
最佳答案 使用地图:
private Map buttonMap = new HashMap();
在构造函数中添加按钮:
buttonMap.add("btn1", btn1);
buttonMap.add("btn2", btn2);
buttonMap.add("btn3", btn3);
buttonMap.add("btn4", btn4);
在你的动作中,Listener / Loop无论做什么:
String buttonName = "btn1"; //should be parameter or whatever
JButton button = buttonMap.get(buttonName);
作为替代方案,您也可以设置一个JButton数组:
JButton[] buttons = new JButton[4];
button[0] = new JButton(); //btn1
button[1] = new JButton(); //btn2
button[2] = new JButton(); //btn3
button[3] = new JButton(); //btn4
并访问它
JButton but = button[Integer.parseInt(buttonString)-1];
或者通过利用向UI元素添加自定义属性的可能性(您需要一个JComponent)
getContentPane().putClientProperty("btn1", btn1);
然后检索whith
JButton but = (JButton)getContentPane().getClientProperty("btn1");
java 变量名 字符串_如何使字符串值在java中调用特定的现有JButton变量名?相关推荐
- python写入csv指定单元格_使用python将值插入csv中的特定单元格
我想知道是否有办法用python将数据插入到csv文件的特定单元格中.可以说我有变量"数据",它存储值" 300".如何将这些数据添加到csv文件的第3行第2列 ...
- python 变量转字符串_[Python Basic] 字符串处理以及类型转换 2
本节内容涉及函数稍多, 需要慢点消化, 一如既往的, 我们不仅说说 python 的最小必要知识, 也讲讲编程英语. Python内置方法和函数 续接上节课,我们还可以使用Python内置的方法和函数 ...
- java声明变量简单程序_零基础学编程之java变量
01使用变量的意义 变量相当于自然语言中的代词,代词具有代替.指示作用,比如每个人的姓名,代表的就是真实的一个个体.如果没有名字,我们在交流的时候,讨论某一个人就需要说:身高1米75,单眼皮,双下巴的 ...
- 减去字符串_从文本字符串中提取指定值的6个超级技巧解读
在实际的工作中,从指定的字符串中提取指定文本也是常用的技巧之一,除了手动操作之外,下文的8种应用技巧也是必须要掌握的. 一.Left函数法.功能:从指定文本字符串的第一个字符开始,提取指定长度的字符串 ...
- java环境变量的配置_一文带你学会Java环境变量配置(小白向)
很多人初学Java的时候,因为Java环境变量的配置卡的心烦意乱. 又有很多人百度上翻来翻去,得到的答案五花八门,让你头晕眼花. 你肯定也在想,不就是个环境变量的配置吗?为什么搜了那么多答案,依然不能 ...
- mysql like带字符串_(转)MySQL数据表中带LIKE的字符匹配查询
MySQL数据表中带LIKE的字符匹配查询 LIKE关键字可以匹配字符串是否相等. 如果字段的值与指定的字符串相匹配,则符合查询条件,该记录将被查询出来. 如果与指定的字符串不匹配,则不符合查询条件. ...
- python字符串后面添加字符串_什么是字符串?怎样在Python中添加字符串?
字符串是一种表示文本的数据类型,字符串中的字符可以是ASCII字符.各种符号以及各种Unicode字符.Python中的字符串有如下三种表现方式. 第1种方式:使用单引号包含字符.示例代码如下: 'a ...
- go regexp匹配字符串_多模式字符串匹配算法ac自动机(用go语言实现)
本文主要包括三部分内容 字典树 建立ac自动机 ac自动机匹配规则 字典树 字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种. 典型应用是用于统计,排序和保存大量的字符串(但不仅限 ...
- mysql修改连接字符串_修改数据库连接字符串教程
修改数据库连接字符串教程 ASP/ASP.NET站点 ASP/ASP.NET站点连接数据库的配置文件一般为Conn.asp.Web.Config(一般在站点根目录) 这些配置文件一般都含有数据库连接字 ...
最新文章
- 【 FPGA 】抢占式优先级译码器电路
- 学python有哪些用途-初入门学习python有哪些用途?
- Python3 多线程问题:ModuleNotFoundError: No module named 'thread',原因及解决办法。
- actionscript代码练习作品
- python progressbar 多行_使用单击.progressbar在Python中使用多处理
- mysql 列换行 表设计 设计_今天来讲一下怎么利用MySql进行库表设计
- 【牛客 - 551C】CSL 的密码(后缀数组,后缀自动机,随机算法)
- Redis集群一致性Hash效果的代码演示
- 手持移动扫描终端 PDA移动开单系统-批发零售管理
- 引入jQuery的src设置
- 直播系统源码,直播平台系统源码
- svn管理ad元件库_AD元器件库服务器管理指南
- 传奇hero引擎版本服务端转换GEE引教程教学篇
- fdfs和springboot的整合
- 海信电视root后误删软件无法进入主页键解决办法
- 嵌入式linux加入nes模拟器,成功运行于 ARM 上的 NES模拟器(InfoNES)
- 给MacBook装win7遇到的坑
- 程序员的思维修炼读书笔记(二)
- Android MediaCodec硬解码AAC音频文件(实时AAC音频帧)并播放
- [大二上]什么是脚本?什么是脚本语言?
热门文章
- 《高性能MySQL》读书笔记-第6章-性能查询优化
- 有人模仿我的脸,有人模仿我的话
- 蝙蝠侠一键改udid软件_对于您的第一个HTML代码,让我们帮助蝙蝠侠写一封情书...
- webpack和react_使用React和Webpack进行简单的代码拆分
- 盘点 Python 高手都写不出来的几个错误
- 立竿见影地把你的 Python 代码提速7倍
- Python实现完全二叉树
- ASP.NET定制简单的错误处理页面
- C# Regex 深入正则表达式
- 在ASP.NET 3.5中使用新的ListView控件(6)