zoukankan      html  css  js  c++  java
  • 第十一周课程总结

    题目:设计一个九宫格

    源代码

    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、绝对布局

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

  • 相关阅读:
    Spring学习笔记之四----基于Annotation的Spring AOP编程
    Spring学习笔记之三----基于Annotation的Spring IOC配置
    Spring学习笔记之一----基于XML的Spring IOC配置
    Spring学习笔记之二----基于XML的Spring AOP配置
    Swift语言之类型方法
    Swift语言之命令模式(Command Pattern)实现
    用Swift语言做App开发之单元测试
    Spring Batch学习笔记三:JobRepository
    Spring Batch学习笔记二
    初探Spring Batch
  • 原文地址:https://www.cnblogs.com/clayLJX/p/11812198.html
Copyright © 2011-2022 走看看