java 图形用户基础------布局管理器

原创 2015年07月09日 21:57:28






import javax.swing.*;   //    导入swing包中的所有类。
public class MyFrame{
public static void main(String [] args)
{
JFrame frame=new JFrame("MyFrame");    // 创建一个JFrame类对象
JButton jbtOK=new JButton("OK");       // 创建一个按钮对象。
frame.add(jbtOK);                      // 调用frame对象的add()方法,把jbtOK对象传递,添加到frame对象中。

frame.setSize(400,300);     // 设置框架大小     
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//  
frame.setLocationRelativeTo(null);
frame.setVisible(true);           // 调用setVisible()方法,用于显示框架。
//只有在调用了setVisible()方法之后,才会把框架显示出来。

}       





}


下面就框架类的学习:有一点:
1.框架类JFrame位于java.swing包中,
2.JFrame类是一个容器类。
3.只能是:JFrame包含人家,而人家是不能包含它的。

1.如何创建的其他组件类放到JFrame对象中???
答: 把其他组件类的对象创建好之后,调用JFrame的add()类方法,把其他组件类作为实参传递给JFrame对象。

2.把组件放到JFrame框架中之后,这些组件在框架中如何排版布局呢???

   答:这项工作由布局管理器来完成。

3.



下面就布局管理器来开展学习:
概述:
()java的GUI组件都放置在容器中,它们的位置是由容器的布局管理器来管理的。
()布局管理器是使用布局管理器类创建的。




1.什么是布局管理器???
2.如何使用布局管理器排版组件???
3.


详解:
()layout :n. 布局;设计;安排;陈列
()版面设计 ; 页面布局 ; 版式 ; 版面编排

有三种基本的布局管理器:
Flowlayout  :流式布局
GridLayout  : 网格布局      Grid: [grɪd] n. 网格;格子
Borderlayout :边框布局     border 美 ['bɔrdɚ    n. 边境;边界;国界
每一中布局管理器都有三种相同的对齐方式。


详解:
(): Flowlayout  :流式布局管理器,是最简单的布局管理器,按照组件的顺序,从左到右地将组件排列在容器中。
  当放满一行时,就开始新的一行。
同时,Flowlayout布局提供了三种组件对齐方式。
                 即:Flowlayout.RIGHT 右对齐,Flowlayout.CENTER 居中对齐  Flowlayout.LEFT  左对齐    


 


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
(): GridLayout 网格布局管理器,即:以网格的形式管理组件。
               :组件按照它们添加的顺序从左到右排列,逐行排列。 
  :Gridlayout管理器将容器分为网格,然后添加组件逐行地填充每个格子。
  :在Gridlayout的容器中,所有的组件的大小都被认为一样的。


:Gridlayout管理器将容器分为网格,然后添加组件逐行地填充每个格子。:

下面以一个具体的实例来分析:


:::
import javax.swing.JButton;
import  javax.swing.JFrame;
import  java.awt.BorderLayout;


// 定义了一个类:ShowBorderLayout类,继承于JFrame类。

public class ShowBorderLayout  extends JFrame{
 public ShowBorderLayout()
 
{
setLayout(new BorderLayout(5,10));//  这句话是什么意思???  setLayout是谁的方法???
// new BorderLayout(5,10) 创建了一个边界布局管理器对象,并把这个对象作为参数,传递给setLayout()方法,即:把边界布局管理对象设置在ShowBorderLayout类中。

add(new JButton("East"),BorderLayout.EAST);    //  使用add()方法,把JButton组件添加到对象管理器中。
add(new JButton("South"),BorderLayout.SOUTH);
add(new  JButton("West"),BorderLayout.WEST);
add(new  JButton("North"),BorderLayout.NORTH);
add(new  JButton("Center"),BorderLayout.CENTER);
} //  这是不是这个类的构造函数,一旦一个类创建,那么其构造方法就会给其对象,添加4个add()方法。

public  static void main(String []args)
{
ShowBorderLayout frame =new ShowBorderLayout();



frame.setTitle("ShowBorderLayout");
frame.setSize(300,200);
frame.setLocationRelativeTO(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}


}

BorderLayout边界布局管理器。

布局管理器的属性。
:如果需要动态地改变布局管理器的属性,布局管理器必须用一个变量显式地引用,然后,可以通过这个变量改变布局管理的属性。












什么是面板???
:::::::::  面板就是放置用户界面的子容器。
为什么要引出面板???


面板能带来哪些好处???


:::


使用java图形用户界面进行程序设计,可以将一个窗口分成几个面板。
面板的作用就是分组放置用户界面组件的子容器。
可以将这些按钮添加到一个面板中,然后再将这个面板添加到框架中。


面板:
包:  javax.swing.JPanel




创建一个面板:


JPanel p=new JPanel();  // 创建一个面板对象。
p.add(new JButton("OK")); // 向面板中添加按钮组件。


















辅助类:Helper class 
概述:
辅助类作用就是:用来 作为实参,传递给组件对象的方法。

:对象的作用是:对象作为实参传递给组件对象的相关属性设置方法,从而组件对象的方法,根据传递过来的对象作为参数,利用对象的内容来设置组件属性。


使用指南:


public Color(int r,int g,int b);
Color color=new Color(128,100,100);         // 类的命名是以大写字母开头,对象是以:小写字母命名。 




JButton jbtOK=new JButton("OK");           //
jbtOK.setBackground(color);
jbtOK.setForeground(new Color(100,1,1));








对于辅助类的认识:
()辅助类都放在:java.awt包中。
()一些常用类:  Color 类,  Font font  [fɒnt] n. 字体;字形


Color类是用以为GUI组件设置颜色。
Font类是用以设置组件的字体。






关于:Color 类:


可以使用java。awt.color类为GUI组件设置颜色。颜色是由红、绿、蓝这三原色构成的,每种原色都用一个int值表示它的深度,取值范围从0到255 这就是:RGB模式。






















java中的swing组件、主要三大布局管理器的应用

二、布局管理器--介绍 1、概念:组件在容器(比如JFrame)中的位置和大小是由布局管理器来决定的。所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理。 2、种类:java共提供了五种...
  • zyj0813
  • zyj0813
  • 2017年10月22日 14:05
  • 192

Qt5基础(四 五)Qt布局管理器和菜单栏学习笔记

1.添加资源文件   再添加图标的时候,可以选择添加文件或者添加资源。但是选择添加资源更好,因为添加资源说白了就是在自己的QT文件中见一个文件夹,把素材都放进来,这样发布的时候更加   方便,打包成为...
  • zhaoyuaiweide
  • zhaoyuaiweide
  • 2017年07月17日 20:51
  • 171

Java三大常用布局管理器

三大常用布局管理器:BorderLayout,FlowLayout,GridLayout,以及计算器的案例
  • huanghi11
  • huanghi11
  • 2015年08月21日 19:33
  • 5868

JAVA语言GUI编程之布局管理器总结

/*   时间:2015年3月18日09:21:57   目的:测试嵌套布局的使用。   Panel 是最简单的容器类。应用程序可以将其他组件放在面板提供的空间内,这些组件包括其他面板。  ...
  • lk142500
  • lk142500
  • 2015年03月18日 09:33
  • 862

Java绝对布局的编写-不使用布局管理器

不使用布局管理器来布局控件类似于Android的absoluteLayout布局方式;也就是指定控件相对于窗体的显示位置 1。实例:import java.awt.Color; import jav...
  • sinat_38321889
  • sinat_38321889
  • 2017年08月29日 21:08
  • 373

java布局管理器总结

之前在使用的过程中一直对java中swing的布局管理器感到很困惑,以下是在网上找到的一篇文章。其中我重点关注了一下gridbaglayout。写的比较详尽: BorderLayout ...
  • houhj168
  • houhj168
  • 2015年01月13日 19:30
  • 610

Java界面常用布局管理器

Java 界面编程【01】页面布局       这是第一次在博客园里面写博客,是有关JAVA页面设计当中的布局管理器,可能...
  • a_lonely_dancer
  • a_lonely_dancer
  • 2016年09月18日 19:35
  • 5765

JAVA图形界面(GUI)之布局管理器

一个友好的读者界面是一款软件成功的关键因素之一。布局管理器就是用来管理读者的界面。摆放的效果直接影响到界面是否美观。布局管理器通过布局管理类来对各种读者组件进行管理。 使用布局管理器,不仅可以有序的...
  • jianggujin
  • jianggujin
  • 2016年01月01日 15:32
  • 14362

java中多种布局管理器的混合使用

/* * 功能:多种布局管理器的使用 */ package com.haitao.gui; import javax.swing.*; import java.awt.*; public c...
  • u010046013
  • u010046013
  • 2016年01月07日 09:34
  • 974

Java基础练习 字母图形

字母图形
  • hoho_12
  • hoho_12
  • 2016年02月07日 18:44
  • 887
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 图形用户基础------布局管理器
举报原因:
原因补充:

(最多只允许输入30个字)