练习面板的嵌套,实现窗口的任意布局

将面板嵌套,添加到窗口中,达到完美的布局效果

 

 实现代码如下:

public class Test {
public static void main(String[] args) {
//总 Frame
Frame frame = new Frame();

frame.setSize(400,300);
frame.setLocation(300,400);
frame.setBackground(Color.blue);
frame.setVisible(true);
frame.setLayout(new GridLayout(2,1));

//定义四个面板
Panel p1 = new Panel(new BorderLayout());
Panel p2 = new Panel(new GridLayout(2,1));
Panel p3 = new Panel(new BorderLayout());
Panel p4 = new Panel(new GridLayout(2,2));

//上面部分
p1.add(new Button("east-1"),BorderLayout.EAST);
p1.add(new Button("west-1"),BorderLayout.WEST);
p2.add(new Button("1"));
p2.add(new Button("2"));
p1.add(p2,BorderLayout.CENTER);

//下面部分
p3.add(new Button("east-2"),BorderLayout.EAST);
p3.add(new Button("west-2"),BorderLayout.WEST);

//中间4个
for (int i = 3; i < 7; i++) {
p4.add(new Button(""+i));

}
// p4.add(new Button("3"));
// p4.add(new Button("4"));
// p4.add(new Button("5"));
// p4.add(new Button("6"));
p3.add(p4,BorderLayout.CENTER);

frame.add(p1);
frame.add(p3);







frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
posted @   tuyin  阅读(72)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示