GUI 编程【二】 (GridLayout,BorderLayout,将面板作为容器使用)

GUI 编程【二】

   ——GridLayout , BorderLayout,将面板作为容器使用:

GridLayout:

package java19;

import java.awt.Container;
import java.awt.GridLayout;

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

public class ShowGridLayout extends JFrame {

	    public ShowGridLayout()
	    {
	        Container container=getContentPane();
	        //定义容器
	        container.setLayout(new GridLayout(4,3,10,20));
	        //等价于:
	        //GridLayout layout=new GridLayout(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) {
	    	ShowGridLayout frame=new ShowGridLayout();
	        frame.setTitle("show FlowLayout");
	        frame.setSize(200,200);
	        frame.setVisible(true);
	        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    }  

}

效果图


BorderLayout:

package java19;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class ShowBorderLayout extends JFrame {

	    public ShowBorderLayout()
	    {
	        Container container=getContentPane();
	        //定义容器  ,BorderLayout(x,y),x,y分别为水平和垂直间距
	        container.setLayout(new BorderLayout(5,10));
	        //等价于:
	       ; //BorderLayout layout=new BorderLayout(5,10);
	        //container.setLayout(layout);
	        //布局方式
	        container.add(new JButton("East"),BorderLayout.EAST);
	        container.add(new JButton("South"),BorderLayout.SOUTH);
	        container.add(new JButton("West"),BorderLayout.WEST);
	        container.add(new JButton("North"),BorderLayout.NORTH);
	        container.add(new JButton("Center"),BorderLayout.CENTER);
	    }
	    public static void main(String[] args) {
	    	ShowBorderLayout frame=new ShowBorderLayout();
	        frame.setTitle("show FlowLayout");
	        frame.setSize(200,200);
	        frame.setVisible(true);
	        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    }  

}

效果

将面板作为容器使用:

package java19;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class TestPanels extends JFrame {
       public TestPanels()
       {
    	   //创建容器
    	   Container container=getContentPane();
    	   container.setLayout(new BorderLayout());
    	   //创建面板p1
    	   JPanel p1=new JPanel();
    	   p1.setLayout(new GridLayout(4,3));
    	   //对p1面板添加数据
    	   for(int i=1;i<9;i++)
    	   {
    		   p1.add(new JButton(" "+i));
    	   }
    	   p1.add(new JButton(" "+0));
    	   p1.add(new JButton("start"));
    	   p1.add(new JButton("stop"));
    	   //创建面板p2
    	   JPanel p2=new JPanel();
    	   p2.setLayout(new BorderLayout());
    	   p2.add(new JTextField("time to be display here"),BorderLayout.NORTH);
    	   p2.add(p1,BorderLayout.CENTER);
    	   //添加到容器
    	   container.add(p2,BorderLayout.EAST);
    	   container.add(new Button("Food to be place here"),BorderLayout.CENTER);

       }

	    public static void main(String[] args) {
	    	TestPanels frame=new TestPanels();
	        frame.setTitle("the front view of a microwave oven");
	        frame.setSize(200,200);
	        frame.setVisible(true);
	        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    }  

}

效果:

 

时间: 2024-12-14 06:09:48

GUI 编程【二】 (GridLayout,BorderLayout,将面板作为容器使用)的相关文章

java基础学习总结——GUI编程(二)

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! java基础学习总结——GUI编程(二) 一.事件监听 测试代码一: 1 package cn.javastudy.summary; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 public class TestActionEvent { 7 public static void main(String args[]) { 8 Frame f = new Frame("

java基础学习总结——GUI编程(二) 未学习

一.事件监听 测试代码一: 1 package cn.javastudy.summary; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 public class TestActionEvent { 7 public static void main(String args[]) { 8 Frame f = new Frame("TestActionEvent"); 9 Button btn = new Button(&qu

Java之GUI编程(二)——布局管理器

在上篇博客Java之GUI编程(一)中我已经对GUI编程的组件和事件做了简单介绍了,现在来看看另外一部分关于组件在各个平台是如何做到仍能保持自己合理的位置大小以及外观的. 已经说了Java是跨平台运行的,但是不同的平台对于点及坐标的定义不完全相同.而且屏幕的解析度分辨率不同也会造成位置的变化,为了确保每个组件的相对位置和大小以及外观,java就设计了布局管理器. 布局管理器是对容器中的元素进行管理,按照一定的规则排放容器里面的元素.它控制了组件的摆放. 布局管理器分类: FlowLayout:浮

JavaSE学习57:GUI编程之事件模型(二)

一实现两个数求和并且输出结果 利用所学的GUI编程实现上述的要求. TFMath.java源代码: <span style="font-size:18px;">import java.awt.*; import java.awt.event.*; public class TFMath { public static void main(String[] args) { new TFFrame().launchFrame(); } } class TFFrame exten

第14篇-JAVA GUI编程

第14篇-JAVA GUI编程 每篇一句 :道路一开始开辟的时候总是存在障碍的 初学心得: 原本下定决心才能开始的事情也变得理所当然 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-25| JAVA GUI编程 ] 1.什么是界面 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面 与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受 2.Java 基础类 JFC 的基本

2.JAVA之GUI编程布局

布局管理器 容器中的组件排放方式,就是布局 常见的布局管理器: **************************************************** 1.FlowLayout(流式布局管理器,构造方法可指定对齐方式.水平垂直间距) 特点:从左到右的顺序排列,默认居中. 如图所示: ****************************************************       2.Borderlayout(边界布局管理器)                 

java基础学习总结——GUI编程(一)

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! java基础学习总结——GUI编程(一) 一.AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面里面是一种可以容纳其它Component元素的一种容器,Container本身也是一种Component的,Container里面也可以容纳别的Container. Cont

Java实验5 GUI编程

实验5 GUI编程 一.实验目的 掌握Java Swing 组件的使用方法,理解委托事件处理模型,掌握多种布局方式,掌握窗口菜单和快捷菜单设计方式,设计出具有图形用户界面.能够响应事件的Java应用程序. 二.实验内容 1.程序理解: 事件处理三个步骤 (1)搭建界面 (2)为相应控件定义事件处理类实现相应的事件处理接口并实现相应的事件处理接口函数 (3)注册事件监听器类对象 例: Unicode 字符查询器 (1)搭建界面 public class QueryFrame extends Fra

java基础学习总结——GUI编程(一) 还未仔细阅读

一.AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面里面是一种可以容纳其它Component元素的一种容器,Container本身也是一种Component的,Container里面也可以容纳别的Container. Container里面又分为Window和Pannel,Window是可以独立显示出来的,平时我们看到的各种各样的