23.1图形化界面布局

package study;

import java.awt.Button;
import java.awt.FlowLayout;

import javax.swing.JFrame;

public class Exercise1 {
//之前没设定布局是后会呈东南西北东布局
//在一行显示叫做流布局,当如果一行放不下会放到下一行,不会撑开设定的大小
	public static void main(String[] args) {
		JFrame f = new JFrame("窗口的名字");
		f.setBounds(1000, 100, 100, 100);
		f.setLayout(new FlowLayout(FlowLayout.LEFT));//居左,也可以居中和居右等等
		
		Button b1 = new Button("东");
		Button b2 = new Button("南");
		Button b3 = new Button("西");
		Button b4 = new Button("北");
		Button b5 = new Button("中");
		f.add(b1);
		f.add(b2);
		f.add(b3);
		f.add(b4);
		f.add(b5);
		
/*
 * f.pack();以实际组件控制窗口大小
 */
		f.setVisible(true);	
	}

}

package study;

import java.awt.Button;
import java.awt.GridLayout;
import javax.swing.JFrame;

public class Exercise2 {
//网格布局
	public static void main(String[] args) {
		JFrame f = new JFrame("窗口的名字");
		f.setLayout(new GridLayout(3, 2));//行数和列数
		f.setBounds(1000, 100, 500, 500);
		Button b1 = new Button("1");
		Button b2 = new Button("2");
		Button b3 = new Button("3");
		Button b4 = new Button("4");
		Button b5 = new Button("5");
		f.add(b1);
		f.add(b2);
		f.add(b3);
		f.add(b4);
		f.add(b5);

/*
 * f.pack();以实际组件控制窗口大小
 */
		f.setVisible(true);
	}

}

package study;

import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
//绝对布局
public class Exercise3 {
	public static void main(String[] args) {
		JFrame f = new JFrame("窗口的名称");
		f.setBounds(1000, 100, 500, 500);
		f.setLayout(null);//绝对布局,也就是没有布局
		
//设置一个标签
		JLabel j1 = new JLabel("这是一个标签");
		j1.setBounds(0, 400, 50, 10);//位置和可以显示的范围,如果是文本时,宽度不够会用省略号显示剩下的内容,高度不够字体会被切少一部分
		f.add(j1);
//设置一张图片,其实是把图片放到标签中然后把标签加到窗口中
		ImageIcon i = new ImageIcon("E:\\java的工作空间\\21.1图形化界面布局\\src\\study\\1.JPG");
		JLabel j2 = new JLabel(i);
		j2.setBounds(100, 100, 100, 100);//位置和可以显示的范围
		f.add(j2);
//设置点击X时结束程序,没设置时,关闭窗口实际程序仍在运行
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);
	}
}

package study;

import java.awt.Color;
import java.awt.Container;
import java.awt.Font;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
//用一个继承了JFrame的类建立窗体,而不是写在主类中
//通过构造方法设置属性
public class Exercise4 extends JFrame{
	public Exercise4() {
		setBounds(1000, 100, 500, 500);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c = getContentPane();//获取当前窗体得面板
		//在面板里面设置东西
		c.setBackground(Color.YELLOW);
		JButton b1 = new JButton("1");
		c.add(b1,"North");
		
		JLabel j1 = new JLabel("标签",JLabel.CENTER);
		add(j1, "Center");
//修改标签里面得字体
		Font f1 = new Font("隶书",Font.BOLD+Font.ITALIC,40);//字体 	  字体是否加粗/是否倾斜		 字体大小
		j1.setFont(f1);
		
		setVisible(true);
	}
	public static void main(String[] args) {
		new Exercise4();
	}

}

package study;

import java.awt.Font;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
//窗口只能添加一个组件,若想有多个组件可放到Jpanel中再将Jpanel组件放入窗口中
public class Exercise5 extends JFrame{
	public Exercise5() {
		setBounds(1000, 100, 500, 500);
//增加输入框
		JLabel l1 = new JLabel("请输入用户名",JLabel.CENTER);
		JLabel l2 = new JLabel("请输入密码",JLabel.CENTER);
		Font f1 = new Font("隶书", Font.BOLD+Font.ITALIC, 20);
		l1.setFont(f1);
		l2.setFont(f1);

//增加一个输入框
		JTextField t = new JTextField(20);//可输入显示的长度
		JPasswordField pa = new JPasswordField(20);//可输入显示的长度
		JButton b1 = new JButton("登陆");
		JPanel p1=new JPanel();//建立一个面板,默认流布局
		JPanel p2=new JPanel();
		JPanel p3=new JPanel();
		JPanel p4=new JPanel();
		p1.add(l1);
		p1.add(t);
		p2.add(l2);
		p2.add(pa);
		p3.add(b1);
		
		p4.add(p1);
		p4.add(p2);
		p4.add(p3);
		setVisible(true);
	}
	public static void main(String[] args) {
		new Exercise5();

	}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值