重新绘制界面,repaint()函数的作用

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.UIManager;

public class MainFrame extends JFrame {

	private static final long serialVersionUID = 1L;

	public static void main(String args[]) {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			MainFrame frame = new MainFrame();
			frame.setVisible(true);
		} catch (Exception e) {

		}
	}

	int count;

	public MainFrame() {
		setSize(800, 600);
		getContentPane().setBackground(Color.WHITE);

		Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
		this.setLocation((int) (size.getWidth() - this.getWidth()) / 2,
				(int) (size.getHeight() - this.getHeight()) / 2);

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		getContentPane().setLayout(null);

		final JButton btnStart = new JButton();
		btnStart.setBounds(360, 15, 100, 28);
		getContentPane().add(btnStart);
		btnStart.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				JLabel lblTest = new JLabel("这是内容,这里主要体现的是repaint()这个函数.  "
						+ count);
				getContentPane().removeAll();
				getContentPane().add(btnStart);
				lblTest.setBounds(100, 100, 400, 200);
				getContentPane().add(lblTest);
				repaint();
				count++;
			}
		});
		btnStart.setText("重新绘制");
	}
}

 

你可能感兴趣的:(java,swing,360)