GUI中面板作为子容器,形成布局

Java使用面板作为子容器的布局
使用的是 GridLayout 和 BorderLayout

  • GridLayout
    根据构造方法定义的行数和列数,布局管理器 以 网格(矩阵)的形式排列组件。组件按照添加的顺序从左到右排列,从第一行开始,接着第二行…..
    定义方法
   setLayout(new GridLayout(3,2,5,5));

GridLayout(行数,列数,水平间距,垂直间距)

  • BorderLayout
    将窗口分为五个区, 东南西北中央
setLayout(new BorderLayout(5,10));

BorderLayout(水平间距,垂直间距);

放置实现语句

Add(jbutton,BorderLayout.EAST);

用JPanel类先创建一个带指定布局管理器的面板,使用add 在面板中添加组件。在把面板与其他的组件或者面板结合起来。形成一个GUI容器

package helo;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.Border;

import manager.system;

public class GUI extends JFrame {

    public GUI(){
    JPanel p1 = new JPanel();            //p1为一个面板
    p1.setLayout(new GridLayout(4,3));
    for( int i = 1 ; i < 10 ; i++)
    {
        p1.add(new JButton(""+i));
    }
    p1.add(new JButton("STRAT"));
    p1.add(new JButton(""+0));
    p1.add(new JButton("STOP"));            //到这p1面板的布局结束

    JPanel p2 = new JPanel(new BorderLayout());
    p2.add(new JTextField("Time to be displayed here"),BorderLayout.NORTH);
    p2.add(p1,BorderLayout.CENTER);
                                       //p2面板布局结束    p2中主要为  一个 TextField 和 P1

    add(p2,BorderLayout.EAST);
    add(new JButton("Food to be placed here"),BorderLayout.WEST);
                                    // 这个为最后的布局框架                           
    }

    public static void main(String[] args){
        GUI frame = new GUI();
        frame.setTitle(null);
        frame.setLocationRelativeTo(null);
        frame.setSize(400,150);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

    }
}

运行结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值