在活动期间更新JLabel的标签文本 - Swing

时间:2014-12-16 16:47:46

标签: java swing jlabel

基本上我想在点击按钮时更改JLabel的标签文本 '生成PDF记录簿'

enter image description here

从上一个例子中说:

label.setText("new value");

当我这样做时,标签值根本没有变化,请给我一些指示,谢谢

初​​始化();

JLabel lblNewLabel = new JLabel("513 k bytes");
    lblNewLabel.setBounds(407, 713, 151, 14);
    frmViperManufacturingRecord.getContentPane().add(lblNewLabel);

按钮生成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");
        }
    });

1 个答案:

答案 0 :(得分:5)

按下按钮后,您正在创建新的JLabel,然后将该标签的文本设置为“新值”

final JLabel lblNewLabel = new JLabel("513 k bytes");
lblNewLabel.setText("new value");

而不是更改UI上标签的文本。您需要在对已添加到UI的标签的引用上调用setText("new value")。例如,该标签必须是您的UI类中的一个字段,例如final JLabel fileSizeLabel,您可以通过调用

来设置标签文本
fileSizeLabel.setText("new value");

在按钮动作监听器中。