Java 更新JLabel';事件期间的标签文本-Swing
基本上,我希望在单击按钮期间更改JLabel的标签文本 “生成PDF记录簿” 从上一个例子可以看出:Java 更新JLabel';事件期间的标签文本-Swing,java,swing,jlabel,Java,Swing,Jlabel,基本上,我希望在单击按钮期间更改JLabel的标签文本 “生成PDF记录簿” 从上一个例子可以看出: label.setText("new value"); 当我这样做的时候,标签值一点也没有改变,请给我一些指示,谢谢 初始化() 在按钮“生成PDF记录簿”上单击 JButton btnGeneratePdfHeader = new JButton("Generate PDF Record Book"); btnGeneratePdfHeader.setMnemoni
label.setText("new value");
当我这样做的时候,标签值一点也没有改变,请给我一些指示,谢谢
初始化()
在按钮“生成PDF记录簿”上单击
JButton btnGeneratePdfHeader = new JButton("Generate PDF Record Book");
btnGeneratePdfHeader.setMnemonic('G');
btnGeneratePdfHeader.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final JLabel lblNewLabel = new JLabel("513 k bytes");
//java.io.File file = new java.io.File(strdfile);
//lblNewLabel.setSize(file.length());
//System.out.println(file.length());
String fileSize = file.length() + " k bytes";
System.out.println("I am here");
lblNewLabel.setText("new value");
}
});
按下按钮时,您正在创建一个新的
JLabel
,然后将该标签的文本设置为“新值”
而不是更改UI上标签的文本。您需要对已经添加到UI的标签的引用调用setText(“新值”)
。例如,该标签必须是UI类中的一个字段,例如final JLabel fileSizeLabel
,您可以通过调用
fileSizeLabel.setText("new value");
在按钮操作侦听器内。请再次阅读我的答案。你根本没有按我的建议做。您所做的唯一一件事是将不必要的JLabel设置为
null
,这会在调用方法时产生NullPointerException
。感谢@Marv,基于您的评论,拥有它,非常感谢您指出错误,并让我学习和解决问题。谢谢
final JLabel lblNewLabel = new JLabel("513 k bytes");
lblNewLabel.setText("new value");
fileSizeLabel.setText("new value");