第十一周课程总结

题目:设计一个九宫格

源代码

package LayoutManager;


import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

public class GridLayoutTest {
	public static void main(String args[]) {
		JFrame frame = new JFrame("GridLayout表格窗体");
		GridLayout grd = new GridLayout(3,3);
		
		for(int i=1;i<=9;i++) {
			JButton but = new JButton(""+i);
			frame.add(but);
		}
		frame.setLayout(grd);
		frame.setLocation(700, 300);
		frame.setSize(700,500);
		
		frame.setVisible(true);
	}

}

运行截图

总结

本周学习了Java的图形界面。
学习了一种容器JFrame,按钮JButton,五种布局管理器。
1、FlowLayout流式布局

流式布局经常在各种列表展示文本框的时候可以看到,特别是应用于标签类的。例如以下

2、BorderLayout边界布局


3、GridLayout表格布局

4、CardLayout卡片布局
以下插入了40张图片每隔一秒进行轮播,并加入了一段文字。

package LayoutManager;

import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.io.File;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class CardLayoutTest {
	public static void main(String args[]) {
		JFrame frame = new JFrame("CardLayout卡片窗体");
		
		Container cont = frame.getContentPane();//取得窗体容器
		CardLayout card = new CardLayout();//定义布局管理器
		frame.setLayout(card);
		
		for(int i=1;i<=40;i++) {
			String path = "D:"+File.separator+"image"+File.separator+i+".jpg";
			cont.add("L"+i,new JLabel(new ImageIcon(path)));
		}
		
		String msg1 = "CardLayout";
		String msg2 = "1";
		String msg3 = "你好";
		String msg4 = "3";
		String msg5 = "哈哈哈O(∩_∩)O~";
		String msg = "<html><body>"+msg1+"<br>"+msg2+"<br>"+msg3+"<br>"+msg4+"<br>"+msg5+"<body></html>";
		JLabel lab2 = new JLabel(msg,JLabel.CENTER);
		Font fnt = new Font("华文琥珀",Font.BOLD,30);
		lab2.setFont(fnt);
		lab2.setBackground(Color.PINK);
		lab2.setOpaque(true);
		
		frame.add(lab2);
		frame.setSize(900, 700);
		frame.setLocation(100, 90);
		frame.setVisible(true);
		
		for(int i=1;i<=40;i++) {
			try {
				Thread.sleep(1000);
				card.next(cont);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		
	}
     
}


5、绝对布局

我们应该不仅仅局限于了解这几种布局管理方法单一的加上组件,还可以加上容器,再在容器中添加按钮或者标签。

原文地址:https://www.cnblogs.com/clayLJX/p/11812198.html