Java GUI 基础知识

这部分主要包含AWT、组件和容器、布局管理器


Component:所有可以和用户交互的图形元素,他的子类有:输入框…

Java.awt及其子包

Container:容器,容纳其他各种各样的Component的元素。

Panel:可以容纳其他元素,不能作为独立的显示出来,需要放在Window里面。

Frame:整个大窗口

Dialog:对话框

扫描二维码关注公众号,回复: 1878523 查看本文章


JFrame:Swing包里的。

栗子:TestFrame.java


窗口只是内存中的一个对象,需要显示出来,所以使用setVisible方法。

栗子2:TestMutiFrame.java


SetLayout:布局管理器设置为null。


栗子:TestPanel.java

继承Frame类,比直接new Frame类更灵活。继承Frame类,可以有自己的成员变量。

把Panel添加到Frame里面。

栗子2:

TestMultiPanel.java


调用了Frame类的add方法。

CentetrPanel.java

package com.zhj.www;

import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;

public class CenterPanel {
	public static void main(String[] args) {
		 MyFrame myFrame = new MyFrame("FrameWitePanel", 300, 300,400, 300);
		 myFrame.setBackground(Color.blue);
	}
}
class MyFrame extends Frame{
	private Panel panel;
	public MyFrame(String string ,int x, int y,int w,int h) {
		super(string);
		setLayout(null);
		panel = new Panel();
		panel.setBounds(w/2, y/3, w/2,h/2);
		panel.setBackground(Color.yellow);
		
		add(panel);
		setBounds(x, y, w, h);
		setVisible(true);
	}
}


Java.awt.LayoutManager:是一种接口;

通过调用setLayout该法改变其布局管理器对象。

栗子:TestFlowLayout.java

setLayout方法来自继承父类的父类。

f.setLayout(new FlowLayout(FlowLayout.LEFT));左居中。

栗子2:TestFlowLayout2.java


垂直间距 40,水平间距 20;

---------------------------------------------------------------


TestBorderLayout.java



---------------------------------------------------------------


表格管理器:
TestGridLayout.java


TenButton.java



猜你喜欢

转载自blog.csdn.net/weixin_39241397/article/details/79849435