java frame panel_Frame 和 Panel

1. Frame类用于JAVA GUI编程,是一个桌面窗口容器。

package com.langtao.base;

import java.awt.*;

public class MyFrame extends Frame {

private static int id = 0;

private int size_x = 0;

private int size_y = 0;

private int location_x = 0;

private int location_y = 0;

private Color color;

public MyFrame(){

}

public MyFrame(int size_x, int size_y,

int location_x, int location_y, Color color) throws HeadlessException {

super("Frame + " + (id++));

setVisible(true);

setBackground(color);

setLocation(location_x, location_y);

setSize(size_x, size_y);

}

}

package com.langtao.base;

import java.awt.*;

public class Application {

public static void main(String[] args) {

MyFrame myFrame1 = new MyFrame(100, 100, 100, 100, Color.BLUE);

MyFrame myFrame2 = new MyFrame(100, 100, 100, 200, Color.GREEN);

MyFrame myFrame3 = new MyFrame(100, 100, 200, 100, Color.RED);

}

}

2. Panel是一个面板,Frame承载Panel,Panel承载其他控件。

package com.langtao.base;

import java.awt.*;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

public class Application {

public static void main(String[] args) {

MyFrame frame = new MyFrame(300,300,500,500,Color.blue);

MyPanel panel = new MyPanel(50,50,400,400,Color.GREEN);

MyPanel panel1 = new MyPanel(0,0,500,50, Color.GRAY);

frame.setLayout(null);

frame.add(panel);

frame.add(panel1);

frame.addWindowListener(new WindowAdapter() {

@Override

public void windowClosing(WindowEvent e) {

super.windowClosing(e);

System.exit(0);

}

});

}

}

package com.langtao.base;

import java.awt.*;

public class MyFrame extends Frame {

private static int id = 0;

private int size_x = 0;

private int size_y = 0;

private int location_x = 0;

private int location_y = 0;

private Color color;

public MyFrame(){

}

public MyFrame(int location_x, int location_y,

int size_x, int size_y, Color color) throws HeadlessException {

super("Frame + " + (id++));

setBackground(color);

setBounds(location_x,location_y,size_x,size_y);

setVisible(true);

}

}

package com.langtao.base;

import java.awt.*;

public class MyPanel extends Panel {

private static int id = 0;

private int size_x = 0;

private int size_y = 0;

private int location_x = 0;

private int location_y = 0;

public MyPanel(){

}

public MyPanel(int location_x, int location_y, int size_x, int size_y, Color color){

super();

setBounds(location_x, location_y, size_x, size_y);

setBackground(color);

setVisible(true);

id++;

}

}

3. Frame 和 Panel的布局:流式布局(FlowLayout),东西南北中布局(BorderLayout),网格布局(GridLayout)。

9099f566f56f357a5286af2d1a8a5bfc.png

package com.langtao.base.demo2;

import javax.swing.border.Border;

import java.awt.*;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class Application {

public static void main(String[] args) {

Frame frame = new Frame("MyFrame");

Panel panel1 = new Panel();

Panel panel2 = new Panel();

Panel panel3 = new Panel();

Panel panel31 = new Panel();

Panel panel32 = new Panel();

frame.setSize(800, 500);

frame.setLayout(new BorderLayout());

panel1.setBackground(Color.RED);

panel2.setBackground(Color.GREEN);

panel31.setBackground(Color.blue);

panel32.setBackground(Color.cyan);

panel1.setLayout(new GridLayout(2,1));

panel2.setLayout(new GridLayout(2,1));

frame.add(panel1, BorderLayout.EAST);

frame.add(panel2, BorderLayout.WEST);

frame.add(panel3, BorderLayout.CENTER);

Button btn1 = new Button("Button1");

Button btn2 = new Button("Button2");

panel1.add(btn1);

panel1.add(btn2);

Button btn3 = new Button("Button3");

Button btn4 = new Button("Button4");

panel2.add(btn3);

panel2.add(btn4);

panel3.setLayout(new GridLayout(2,1));

panel3.add(panel31);

panel3.add(panel32);

Button btn5 = new Button("Button5");

Button btn6 = new Button("Button6");

panel31.setLayout(new GridLayout(2,1));

panel31.add(btn5);

panel31.add(btn6);

Button btn7 = new Button("Button7");

Button btn8 = new Button("Button8");

Button btn9 = new Button("Button9");

Button btn10 = new Button("Button10");

panel32.setLayout(new GridLayout(2,2));

panel32.add(btn7);

panel32.add(btn8);

panel32.add(btn9);

panel32.add(btn10);

frame.setVisible(true);

frame.addWindowListener(new WindowAdapter() {

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值