Java 获取按钮变量的名称
我在git的一个项目中工作,在这个项目中,编码对于多台机器可能是不同的 如果我设置这个:Java 获取按钮变量的名称,java,swing,variables,jbutton,Java,Swing,Variables,Jbutton,我在git的一个项目中工作,在这个项目中,编码对于多台机器可能是不同的 如果我设置这个: private JButton translationButton1 = new JButton("←"); translationButton1.addActionListener(this); 然后我设置侦听器: @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated metho
private JButton translationButton1 = new JButton("←");
translationButton1.addActionListener(this);
然后我设置侦听器:
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
我知道有可能得到←" 通过使用e.getActionCommand()
,但我担心如果有人的编码与我不同(例如Cp1252),我不确定是否会←“
可以在actionPerformed方法中获取按钮的名称(如果(???.equals(“translationButton1”)
)?(我不想使用匿名内部类型,因为我要设置多个actionListener)
谢谢通过System.getProperty(“file.encoding”)
因此,对于您来说,代码应该如下所示:
@Override
public void actionPerformed(ActionEvent e) {
String encoding =System.getProperty("file.encoding");
if (encoding.equals("UTF-8"))
// do something
else if (encoding.equals("Cp1252"))
// do something else
// else if (encoding.equals("someEncoding"))
do something else yet
}
尽管如此,我还是向您推荐@Whiskyspider在这里描述的方法……对于这种情况,这是一种更干净的做法。您可以通过System.getProperty(“file.encoding”)
在用户的计算机上获得编码
因此,对于您来说,代码应该如下所示:
@Override
public void actionPerformed(ActionEvent e) {
String encoding =System.getProperty("file.encoding");
if (encoding.equals("UTF-8"))
// do something
else if (encoding.equals("Cp1252"))
// do something else
// else if (encoding.equals("someEncoding"))
do something else yet
}
尽管如此,我还是会向您推荐@wiskyspider在这里描述的方法……这是本案例中更干净的做法
是否可以获取按钮的名称
1按钮可能被分配给3个不同的属性名称,或者没有。因此,不可能获取“the”变量名称
是否可以获取按钮的名称
1按钮可能被分配给3个不同的属性名称,也可能没有。因此,不可能获取“the”变量名称。不,但您可以设置一个操作命令:
translationButton1.setActionCommand("translationButton1");
然后检查命令:
public void actionPerformed(ActionEvent ae) {
if (ae.getActionCommand.equals("translationButton1") {
// do something
}
}
否,但您可以设置操作命令:
translationButton1.setActionCommand("translationButton1");
然后检查命令:
public void actionPerformed(ActionEvent ae) {
if (ae.getActionCommand.equals("translationButton1") {
// do something
}
}
是的,这比考虑我可能会遇到麻烦的所有编码都要干净是的,这比考虑我可能会遇到麻烦的所有编码都要干净这是无意义的原因,那么就没有问题了,我也找不到编码(东亚和南亚除外)这就是annonymous的原因,然后就没有问题了,我也找不到编码(东亚和南亚除外)