gpt4 book ai didi

java - 将 Action 监听器添加到XML中提到的按钮

转载 作者:行者123 更新时间:2023-12-02 11:08:55 26 4
gpt4 key购买 nike

我尝试使用下面的代码使用ActionListenerJButton添加到XML的DocumentBuilderfactory中。

我收到一个错误:在下面的注释行中添加了Duplicate local variable element

但是,如果我重命名这些变量之一,那么如何将该actionListener链接到XML中存在的ID按钮?

public static void main (String args[]) throws IOException{
try{
XMLDecoder xmlDecoder = new XMLDecoder(new FileInputStream("ActionListener.xml"));
Object frame = xmlDecoder.readObject();
xmlDecoder.close();
System.out.println("siri");
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("ActionListener.xml"));
Element element = doc.getElementById("Id");
String attrValue = element.getAttribute("string");
JButton element = new JButton("attrValue"); // <-- error happens here
element.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("Its a success");
}
});
}
catch(Exception ex){
System.out.println(ex);
}
}

最佳答案

就像异常告诉您的那样,您的代码中有一个重复的变量。
这意味着您尝试声明一个与另一个名称完全相同的新变量。

在您的代码中,您有两个名为element的变量:

Element element = doc.getElementById("Id");
JButton element = new JButton("attrValue");

重命名其中一项以解决您的问题。

接下来,这部分代码似乎是可疑的:
Element element = doc.getElementById("Id");
String attrValue = element.getAttribute("string");
JButton button = new JButton("attrValue"); //Note I changed the variable name

永不使用变量 attrValue字符串值,因为您将常量字符串值“attrValue”设置为JButton标签。
您可能想写:
JButton button = new JButton(attrValue);

另外,您将创建一个全新的JButton并添加一个actionListener,但它不会显示,因为您从未将其添加到 View 中。

关于java - 将 Action 监听器添加到XML中提到的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49381619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com