我在一个按钮上加了一个监听器,在事件中改变label的文字无效,怎么办?

解决方案 »

  1.   

    怎么没有变化呢?!!!添加刷新了吗? label.repaint();
      

  2.   

    首先谢谢你的回复,呵呵
    我做的这个是个applet
      

  3.   


    JLabel labTest = new Label("test");
    JButton btnTest = new JButton("hello");
    btnTest.addActionListener(this);public void actionPerformed(ActionEvent e) {
    String strCmd = e.getActionCommand(); if (strCmd.equals("hello")) {
                                 System.out.println("happen");
                                 labTest.setText("test ok!");
         labTest.repaint();
    }
    }
    这样还是不行的,事件可以执行。。
      

  4.   

    怎么可能!!!import java.applet.Applet;
    import java.awt.BorderLayout;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JLabel;public class DialogTest extends Applet { protected JButton ok = new JButton("OK");
    private JLabel fl = new JLabel("哈哈"); public void init() {
    setLayout(new BorderLayout());
    setSize(200, 200);
    add(fl, BorderLayout.CENTER);
    add(ok, BorderLayout.SOUTH);
    ok.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    fl.setFont(new Font("宋体", Font.ITALIC, 20));
    // FontMetrics fm = fl.getFontMetrics(fl.getFont());
    // int width = fm.stringWidth(fl.getText());
    // fl.setPreferredSize(new Dimension(width, fl.getHeight()));
    fl.repaint();
    }
    });
    setVisible(true);
    } public static void main(String[] args) {
    DialogTest app = new DialogTest();
    }
    }
      

  5.   

    十分感谢!!!
    我知道原因了,我在init方法内又重新定义了一次label太谢谢你了!!!