我是 Java 中的 GUI 新手。
例如,我只需要更新 1 个元素(例如,JLabel)。在 Tkinter 我会使用类似的东西root.update()or root.update_idletasks()。我想知道用 swing 制作的应用程序中是否存在类似的简单功能。我已经尝试过gui_element.SetVisible(false)和gui_element.SetVisible(true)类似的东西,但不是很成功。我怀疑javax.swing.Timer应该工作,但不知道如何。  
编辑这是代码。如果您发现其他错误,请告诉我。谢谢
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class sof_sample{
    /**
     * @param args
     */
    private static JFrame frame1 = new JFrame("Fractal Geometry");
    public static JButton quit_button = new JButton("Quit");
    private static JButton run_button = new JButton("Run");
    private static JLabel label1 = new JLabel();
    public static JLabel label_iter = new JLabel(); 
    private static GridLayout layout1 = new GridLayout(2,20);
    private JOptionPane msg1 = new JOptionPane();
    private static int counter;
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        AuxClass1 inst1 = new AuxClass1();
        quit_button.addActionListener(inst1);
        run_button.addActionListener(inst1);
        label1.setText("Iteration");
        label1.setVerticalTextPosition(JLabel.CENTER);
        label1.setHorizontalAlignment(JLabel.CENTER);
        label_iter.setText("0");
        label_iter.setBorder(BorderFactory.createLineBorder(Color.BLACK));      
        label_iter.setVerticalTextPosition(JLabel.CENTER);
        label_iter.setHorizontalAlignment(JLabel.CENTER);
        //add widgets to the frame
        frame1.add(label1);
        frame1.add(label_iter);
        frame1.add(run_button);
        frame1.add(quit_button);
        frame1.setLayout(layout1);
        frame1.setLocationRelativeTo(null);
        //frame1.pack();
        frame1.setSize(250, 75);
        frame1.setVisible(true);
    }
}
class AuxClass1 implements ActionListener{
    sof_sample inst2 = new sof_sample();
    public void actionPerformed(ActionEvent event1){
        if (event1.getSource()==inst2.quit_button){
            System.exit(0);
        }
        else{
            for (int i=0;i<20000;i++){
                inst2.label_iter.setText(Integer.toString(i));
            }
            //msg1.showMessageDialog(frame1, "Not yet!");
        }
    }
}