Java中的图形界面布局练习

图形界面的介绍:图形用户界面(Graphics User Interface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作。Swing:为解决 AWT 存在的问题而新开发的图形界面包。Swing是对AWT的改良和扩展。 不仅提供了AWT 的所有功能,还用纯粹的Java代码对AWT的功能进行了大幅度的扩充,与平台无关。swing 的组件层次关系以下为基础的图形界面练习(适合看完图形界面理论知识的练习)布局思想:整个大体系为Frame(或JFrame)向其中加入框架,框架(panel
摘要由CSDN通过智能技术生成

图形界面的介绍:图形用户界面(Graphics User Interface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作。
在这里插入图片描述Swing:为解决 AWT 存在的问题而新开发的图形界面包。Swing是对AWT的改良和扩展。 不仅提供了AWT 的所有功能,还用纯粹的Java代码对AWT的功能进行了大幅度的扩充,与平台无关。

swing 的组件层次关系
在这里插入图片描述以下为基础的图形界面练习(适合看完图形界面理论知识的练习)
布局思想:整个大体系为Frame(或JFrame)向其中加入框架,框架(panel或JPanel)可以进行布局,框架中可以加入组件(JButton等)。
练习:
BorderLayou布局:

package unit10;
import java.awt.*;
public class Frame12{
	public static void main(String[] args)
	{
		Frame f = new  Frame("飞机大战");
		f.setLayout(new BorderLayout());
		f.add(new Button("North"),BorderLayout.NORTH);
		f.add(new Button("South"),BorderLayout.SOUTH);
		f.add(new Button("East"),BorderLayout.EAST);
		f.add(new Button("West"),BorderLayout.WEST);
		f.add(new Button("Center"),BorderLayout.CENTER);
		f.setSize(2000,2000);
		f.setVisible(true);
	}
}

GridLayout布局:

package unit10;
import java.awt.*;
//GridLayout
public class Frame12{
	public static void main(String[] args)
	{
		Frame f = new Frame("GridLayout");
		Button[] buttons = new Button[20];
		for(int i=0;i<buttons.length;i++)
		{
			buttons[i] = new Button(""+(i+1));
		}
		f.setLayout(new GridLayout(4,5));
		for(int i=0;i<buttons.length;i++)
		{
			f.add(buttons[i]);
		}
		f.setSize(300,300);
		f.setVisible(true);
	}
}

简单的嵌套布局:

import java.awt.*;
//嵌套布局
public class Frame12{
	public static void main(String[] args)
	{
		Frame f = new Frame("嵌套布局");
		Label b0 = new Label("Display Area");
		Panel p = new Panel();
		p.setLayout(new GridLayout(2,2));
		Button b1 = new Button("1");
		Button b2 = new Button("2");
		Button b3 = new Button("3");
		Button b4 = new Button("4");
		p.add(b1);
		p.add(b2);
		p.add(b3);
		p.add(b4);
		f.add(p,BorderLayout.CENTER);
		f.add(b0,BorderLayout.NORTH);
		f.pack();
		f.setVisible(true);
	}
}

按钮监听:

package unit10;
import java.awt.*;
import java.awt.event.*;
public class Frame12{
	public static void main(String[] args)
	{
		Frame f = new Frame("Test");
		Button b1 = new Button("Start");
		TextField b2 = new TextField("test");
		Monitor3 bh = new Monitor3();
		b1.addActionListener(bh);
		b2.addActionListener(bh);
		f.add(b1,"North");
		f.add(b2,"Center");
		f.pack();
		f.setVisible(true);
	}
	
}
class Monitor3 implements ActionListener{
	public void actionPerformed(ActionEvent e)
	{
		System.out.println("a button"+e.getSource()+"has been pressed." + "command is:" + e.getActionCommand());
		
	}
}

下面还是列举一些简单常用的界面化练习:

上代码:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leng_tian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值