Java-JPanel布局(画板)

一,布局

窗体: JFrame 顶级容器,会直接显示到屏幕上。

面板: JPanel 容器 ,需要加载到其他容器中,如JFrame中。

使用面板可以将窗体划分为不同的区域,使各个区域分别具有不同的功能。

二,边框布局

  方位布局: 南北东西中

    1: 每个方位只能加一个组件

    2: 南北的宽度跟父容器一致

    3: 东西的高度,在没有南北组件时与父容器一致

    4: 中央的区域是其他组件使用完成之后剩下的区域

三,JPanel使用方法

一,新建方法JPanel(自定义)

public JPanel createPanel(Color color, int size, String border) {
        JPanel jp = new JPanel();
        jp.setBackground(color);//设置面板背景颜色
        jp.setPreferredSize(new Dimension(size, size));//设置面板尺寸
        add(jp, border);//设置面板边界布局
        return jp;
    }

二,新建面板(输入对应参数数值)

JPanel jp_n = createPanel(Color.GRAY, 100, BorderLayout.NORTH);

三,根据面板功能对其进行填充

1.图形按钮面板

String[] btnstr = {"签字笔","直线", "三角形", "等腰三角形", "矩形", "圆形", "实心圆形", "多边形",
                "立方体","妙","海绵门格","谢尔宾三棱锥","橡皮擦","冒泡排序",
                "迭代分形1","迭代分形2","迭代分形3"};//创建一个数组
      for (int i = 0; i < btnstr.length; i++) {
        JButton btn = new JButton(btnstr[i]);//创建对应按钮
        jp_n.add(btn);//在面板中添加按钮
        btn.addActionListener(dl);//给按钮添加动作监听器
       }

2.颜色按钮面板

 Color[] colors = {Color.black, Color.RED, Color.BLUE,
                    Color.YELLOW, Color.CYAN, Color.LIGHT_GRAY
                    , Color.CYAN, Color.MAGENTA};
            for (int n = 0; n < colors.length; n++) {
                JButton btnc = new JButton("c");
                btnc.setBackground(colors[n]);//设置按钮背景颜色
                jp_e.add(btnc);
                btnc.addActionListener(dl);
            }

3.绘图面板

public DrawPanel createDrawPanel(Color color, String border) {
        DrawPanel jp = new DrawPanel();
        jp.setBackground(color);
        add(jp, border);
        jp.addMouseListener(dl);
        jp.addMouseMotionListener(dl);
        return jp;
    }
DrawPanel drawPanel = createDrawPanel(new Color (238, 238, 238), BorderLayout.CENTER);
    
        Graphics g = drawPanel.getGraphics();
        dl.g = g;//将JFrame的画笔接入面板中
        drawPanel.shapeList=dl.shapeList;//将JFrame中储存的图形存入面板中
        

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值