关于Panel对象,它是相对于面板的操作。它本身是可以内嵌于窗口容器中的,但是不能单独存在,可以看做是一个空间。我们先来看一下效果图。
粉色的部分还是窗体的背景颜色。绿色的部分是设置的面板,但是我们刚才也说到面板可以看做是一个空间,但是不能单独存在,所以我们可以将其嵌入到容器当中。
我们还是先来看一下代码的编写
import java.awt.*;
public class Test1 {
public static void main(String[] args) {
Frame frame = new Frame("测试面板的窗体");
Panel panel = new Panel();
frame.setVisible(true); //设置窗体可见性
frame.setBackground(Color.pink); //设置窗体背景颜色
frame.setBounds(150,150,400,400); //设置窗体尺寸大小,及弹出位置
frame.setLayout(null); //设置窗体内容的布局方式
panel.setVisible(true); //设置面板可见性
panel.setBounds(100,100,200,200); //设置面板的尺寸大小及弹出位置
panel.setBackground(Color.green); //设置面板的背景颜色
frame.add(panel);//将面板添加进窗体中
}
}
这是我完成的一个小demo,面板对象的设置和窗体的设置大径相同,但是至于setLayout是设置的布局方式,我们也可以看到 demo中设置的为null,是因为我们这里还不聊关于布局方式的话题,这里暂且先设置成null值了。
其实面板的设置和窗口的设置都是大径相同的,这里不进行过多赘述了,我们在探究一下将面板添加到窗口容器的实现。
我们先看一下frame.add();方法需要传递的参数:
Ctrl + 鼠标左键 点击 add 方法
进入到源码部分后,我们看到 add 这个方法 需要的参数是一个 Component 对象的参数。
我们在进行面板设置的时候,将其添加到窗体容器中,就需要给它传递一个满足的参数,所以按着这个思路,我们就可以去看一下关于 Panel 对象的实现了。
经过翻阅查看,我们得知 Panel 类的爷爷就是Component,所以它是可以直接作为参数传给add方法的。
于是这里我们就完成了向窗体中添加进面板的操作。
这里我们还需要复习一下,一些琐碎的知识点
- 我们现在接触到的窗体对象和面板对象都是导入自 java.awt.*;包下的
- 我们现在学习的就是awt的相关内容,关于GUI编程的两个核心就是学习 AWT 和 Swing,
- 然后他们两个,一个是针对简单事件的抽象接口工具,一个是针对图形界面的,二者逻辑相似
- awt是Swing的前身,所以我们先学习awt
最后我们在添加一个面板到窗口容器中,做个最后练习的掌握。
好了,就这样吧,这块也没什么东西,就玩到这了。