GUI编程【一】

GUI 编程【一】

            ——创建框架,使框架在任意位置,添加组件,布局管理器(FlowLayout)

javaGUI使用的类的结构图:


 

创建框架:

package javaCUI1;

import javax.swing.JFrame;

public class gui1 {

	public static void main(String[] args) {
		JFrame frame=new JFrame("test");//名称
		frame.setSize(400,300);//宽高像素
		frame.setVisible(true);//显示
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//关闭窗口,若无此句windows按Ctrl+C关闭。
	}
}

效果图:


框架任意位置显示及居中:

package javaCUI1;

import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;

public class gui1 {

	public static void main(String[] args) {
		JFrame frame=new JFrame("test");//名称
		frame.setSize(400,300);//宽高像素
		//获取屏幕宽高
		Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
		int screenWidth=screenSize.width;
		int screenHeight=screenSize.height;
		//获取框架宽高
		Dimension frameSize=frame.getSize();
		//设定显示位置
		int x=(screenWidth-frameSize.width)/2;
		int y=(screenHeight-frameSize.height)/2;
		frame.setLocation(x, y);
		frame.setVisible(true);//显示
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//关闭窗口,若无此句windows按Ctrl+C关闭。
	}
}

添加组件:

package javaCUI1;

import java.awt.Container;

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

public class gui1 {

	public static void main(String[] args) {
		JFrame frame=new JFrame("test");//名称
		frame.setSize(400,300);//宽高像素
		Container container=frame.getContentPane();
		//返回框架的内容面板
		container.add(new JButton("OK"));
		//在返回的内容面板中添加组件
		
		//一句话写法:frame.getContentPane().add(new JButton("OK");
		frame.setVisible(true);//显示
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//关闭窗口,若无此句windows按Ctrl+C关闭。
	}
}

效果显示

布局管理器:

五个基本布局管理器:FlowerLayout,GridLayout,BorderLayout,CardLayout,GridBagLayout。

基本语法:

container.setLayout(new SpecificLayout());

JButton jbtOK=new JButton("OK");

container.remove(jbtOK);

FlowLayout:

public FlowerLayout(int align,int hGap,int vGao)  指定排列,水平间距,垂直间距

package javaCUI1;

import java.awt.Container;
import java.awt.FlowLayout;

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

public class ShowFlowLayout extends JFrame{
//扩展了类JFrame,直接使用JFrame中相关属性。
    public ShowFlowLayout()
    {
    	Container container=getContentPane();
    	//定义容器
    	container.setLayout(new FlowLayout(FlowLayout.LEFT,10,20));
        //等价于:
        //FlowLayout layout=new FlowLayout(FlowLayout.LEFT,10,20);
        //container.setLayout(layout);
        //布局方式
    	for(int i=1;i<=10;i++)
    	{
    		container.add(new JButton("Component"+i));
    	}
    }
	public static void main(String[] args) {
		ShowFlowLayout frame=new ShowFlowLayout();
		frame.setTitle("show FlowLayout");
		frame.setSize(200,200);
		frame.setVisible(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

效果图:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值