2020/09/02 QQ1017871939 AWT容器展示包含(布局管理器样式)

1 篇文章 0 订阅
1 篇文章 0 订阅

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在设置窗口之前,先说明java中像素的定位点,我们屏幕左上角为(0,0),x往右边为正,y向下为正,这和我们平常的数学y轴往下为负不一样。就简单来说吧,只要你设置都为整数就是在我们屏幕里面,我们能看到的。一方为负数就看不到。

实例一:基本窗口显示

在这里插入图片描述

实例一代码:

package com.uplooking.javase.ch17;

import java.awt.Color;
import java.awt.Frame;

public class MyFranmeTest {
  public static void main(String[] args) {
	Frame frame =new Frame();
	//设置窗体的大小,单位 像素
	frame.setSize(600,400);
	//设置标题
	frame.setTitle("我的第一个java窗体");
	//设置不能改变大小:就是你不能用鼠标拉伸他
	frame.setResizable(false);
	//设置背景颜色
	Color c1 =new Color(100,50,99);
	frame.setBackground(c1);
	//设置一下位置
	frame.setLocation(300,300);
	//设置可见性,默认不可见:如果不设置可见你就看不见效果图
    frame.setVisible(true);
  }
  
}

实例二:显示多个不同窗口颜色

思路:有的同学觉得复制粘贴4个对吧?这又麻烦又费力。继承Frame

在这里插入图片描述
在这里插入图片描述

实例二代码:

package com.uplooking.javase.ch17;

import java.awt.Color;
import java.awt.Frame;

public class MyFranmeTest2 extends Frame {
	//继承Frame类
	//把改写的参数当做形参写在构造器内
	public MyFranmeTest2(int x,int y,int width,int height,String title,Color c) {
		//调用父类的构造器
		super(title);
		this.setBounds( x, y,width,height);
		this.setBackground(c);
		
		this.setResizable(false);
		//这个设置必须在最后
		this.setVisible(true);
	}
  public static void main(String[] args) {
	  int x =200,y=200;
	  MyFranmeTest2 m1 =new MyFranmeTest2(x,y,300,300,"第一个窗口",Color.RED);
	  MyFranmeTest2 m2 =new MyFranmeTest2(x+300,y,300,300,"第二个窗口",Color.green);
	  MyFranmeTest2 m3 =new MyFranmeTest2(x,y+300,300,300,"第三个窗口",Color.black);
	  MyFranmeTest2 m4 =new MyFranmeTest2(x+300,y+300,300,300,"第四个窗口",Color.BLUE);
  }
  
}

在这里插入图片描述
在这里插入图片描述

Panel代码:

package com.uplooking.javase.ch17;

import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import java.awt.LayoutManager;
import java.awt.Panel;

public class PanelTest1 {
public static void main(String[] args) {
	Frame f1 =new Frame("面板类测试");
	f1.setBounds(300,200,700,450);
   //布局管理器
	//LayoutManager
	//重新设置Frame布局管理器为null,我要自己摆放,不需要布局管理器帮我摆放
	
	//面板类
	Panel p1 =new Panel();
 	f1.setLayout(null);
	
	//按钮
	Button btn1 =new Button("Login");
	
	btn1.setSize(100,60);
	btn1.setLocation(100,100);
	//把按钮加入到面板中
	p1.add(btn1);
	
	p1.setSize(300,300);
	//面板所在的位置
	p1.setLocation(50,50);

    p1.setBackground(Color.RED);
     //把面板放入
    f1.add(p1);
     //设置可见
    f1.setVisible(true);
}
}

这里我们为什么按钮不设置中文呢,设置中文会出现乱码问题,是因为内部操作系统不兼容,反正以后开发都不会用这种开发。

在这里插入图片描述
在这里插入图片描述

FlowLayout布局管理器

在这里插入图片描述

拉长之后

在这里插入图片描述

FlowLayout布局管理器代码:

package com.uplooking.javase.ch17;

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.LayoutManager;

public class FlowLayoutTest {

	public static void main(String[] args) {
		Frame f1 =new Frame("布局管理器测试1");
	   
		//设置窗体的布局管理器为流式布局
		f1.setLayout(new FlowLayout(FlowLayout.LEFT,10,20));
	   
		//放100个按钮
		for (int i = 0; i <100; i++) {
			f1.add(new Button("button"+i));
		}
		f1.setBounds(300,250,600,500);
		f1.setVisible(true);
	}
}

在这里插入图片描述

BorderLayout 边框布局管理器

在这里插入图片描述

BorderLayout 边框布局管理器代码:

package com.uplooking.javase.ch17;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;

public class BorderLayoutTest {
   public static void main(String[] args) {
	Frame f1 =new Frame("布局管理器演示:边框布局管理器");
      //边框布局,50,50是彼此之间左右,上下的间距
	f1.setLayout(new BorderLayout(50,50));
	
	f1.add(new Button("submit"),BorderLayout.EAST);
	f1.add(new Button("submit"),BorderLayout.WEST);
	f1.add(new Button("submit"),BorderLayout.NORTH);
	f1.add(new Button("submit"),BorderLayout.SOUTH);
	f1.add(new Button("submit"),BorderLayout.CENTER);
	
	f1.setBounds(200,30,900,700);
	f1.setVisible(true);
   }
}

在这里插入图片描述

GridLayout 网格布局管理器

在这里插入图片描述

GridLayout 网格布局管理器代码:

package com.uplooking.javase.ch17;

import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;

public class GridLayouTest {
  public static void main(String[] args) {
	Frame f1 =new Frame("布局管理器演示:网格布局管理器");

    //格式布局             5,5 表示5行5列  如果超出5*5=25个  多的少的都不要了,主要是以行为主,行变列变,列变行不变
	f1.setLayout(new GridLayout(5,5,10,20));
	
	for (int i = 0; i < 30; i++) {
		f1.add(new Button("button"+i));
	}
	f1.setBounds(200,30,900,700);
   f1.setVisible(true);	
  }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值