本文主要是介绍图形界面----布局管理器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- FlowLayout是流式布局管理器,使用后,所有组件会像流水一样排列。
package GUI;
import java.awt.Button;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class LayoutManagerDemo01 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame j = new JFrame();
j.setLayout(new FlowLayout(FlowLayout.CENTER,30,3));
JButton jb ;
for(int i=0;i<9;i++){
jb = new JButton("按钮"+i);
j.add(jb);
}
j.setSize(200, 200);
j.setLocation(300, 300);
j.setVisible(true);
}
} - BorderLayout是将窗体划分成东南西北中5个区域,可以把组件分别放入其中一个。
package GUI;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class LayoutManagerDemo02 {
public static void main(String[] args){
JFrame j = new JFrame();
j.setLayout(new BorderLayout());
j.add(new JButton("1111"),BorderLayout.NORTH);
j.add(new JButton("2222"),BorderLayout.EAST);
j.add(new JButton("3333"),BorderLayout.WEST);
j.add(new JButton("4444"),BorderLayout.SOUTH);
j.add(new JButton("5555"),BorderLayout.CENTER);
j.setSize(300, 300);
j.setVisible(true);
}
} - GridLayout布局管理器是以表格的形式呈现的,实例化是必须设置行列数。如果不设置默认为1行。
package GUI;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class LayoutManagerDemo03 {
public static void main(String[] args){
JFrame j = new JFrame();
j.setLayout(new GridLayout(3,3));
JButton jb ;
for(int i =0;i<9;i++){
jb = new JButton("按钮"+i);
j.add(jb);
}
j.setSize(300, 300);
j.setLocation(300, 300);
j.setVisible(true);
}
} - CardLayout就像一组组件重叠放置,像卡片一样,一次只展示一张。
package GUI;
import java.awt.CardLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class LayoutManagerDemo04 {
public static void main(String[] args){
JFrame j = new JFrame();
CardLayout card = new CardLayout();
j.setLayout(card);
Container con = j.getContentPane();
con.add(new JLabel("1111"),"1");
con.add(new JLabel("2222"),"2");
con.add(new JLabel("3333"),"3");
con.add(new JLabel("4444"),"4");
con.add(new JLabel("5555"),"5");
j.setSize(300,300);
j.setLocation(300, 300);
j.setVisible(true);
card.show(con, "1");
for(int i = 0;i<5;i++){
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
card.next(con);
}
}
} - 还可以通过绝对布局完成
package GUI;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class LayoutManagerDemo05 {
/**
* @param args
*/
public static void main(String[] args) {
JFrame j = new JFrame();
j.setLayout(null);
JButton jb1 = new JButton("按钮1");
JLabel jl = new JLabel("标签1");
JButton jb2 = new JButton("按钮2");
//4个参数分别为 横坐标 ,纵坐标,长度,宽度
jb1.setBounds(50, 50, 100, 50);
jb2.setBounds(200, 50, 100, 50);
jl.setBounds(50, 100, 50, 50);
j.add(jb1);
j.add(jb2);
j.add(jl);
j.setSize(300, 300);
j.setLocation(300, 300);
j.setVisible(true);
}
}
这篇关于图形界面----布局管理器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!