AWT FlowLayout()的作用

AWT中的flowlayout组件经常被用在写gui中,那么它到底有什么作用呢?


这幅图是以下代码的运行结果

import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;

public class HelloWorld extends JFrame implements ActionListener {
    private final JLabel label;
    private final JButton button;
	
    public HelloWorld() {
    	super("Hello World with Swing GUI components");
    	setLayout(new FlowLayout());
    	label = new JLabel("Hey you, push my button!");
    	getContentPane().add(label);
    	button = new JButton("Push me!");    	
    	button.addActionListener(this);
    	add(button);
    }
    
    public void actionPerformed(ActionEvent e) {
    	label.setText("Thanks!");
    }
    
    
}

当然你要是想运行可能还需要以下代码
import javax.swing.JFrame;
import javax.swing.SwingUtilities;


public class RunHelloWorld implements Runnable {
    public void run() {
		HelloWorld h = new HelloWorld();
        h.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        h.setSize(300,150);
        h.setVisible(true);    	
    }
	
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new RunHelloWorld());  //SwingUtilities.invokeLater的作用不知道可自行查询

	}

}

但是如果没有setLayout(new FlowLayout())这行代码会怎么样?


会得到一个非常惨痛的结果,label标签占据了整个显示,无论你如何拖动窗口大小。

所以FlowLayout的作用就是排版,可以根据窗口大小自动的安排组件位置,一排能放下两个组件就放下,如果放不下就会分成两行。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

AWT FlowLayout()的作用

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭