Java JPanel的目的?

Java JPanel的目的?,java,swing,jpanel,Java,Swing,Jpanel,这篇关于JPanel的文章似乎把重点放在这个容器上,作为设置背景色的一种手段。我是否应该推断,如果我对ubuntu/gnome/Java程序中的默认灰色背景感到满意,就没有必要使用这个对象?使用这个对象有面向对象编程的理由吗?你很可能认为作者的角度偏向于颜色和绘画,但我认为如果你再看一眼博客,你会发现他确实在尝试更广阔的领域。JPanel的和可以用作典型Swing应用程序中各种其他小部件的内容窗格 我也不知道你为什么要引用Ubuntu/Gnome,因为平台的L&F与JPanel的实用程序是完全分

这篇关于JPanel的文章似乎把重点放在这个容器上,作为设置背景色的一种手段。我是否应该推断,如果我对ubuntu/gnome/Java程序中的默认灰色背景感到满意,就没有必要使用这个对象?使用这个对象有面向对象编程的理由吗?

你很可能认为作者的角度偏向于颜色和绘画,但我认为如果你再看一眼博客,你会发现他确实在尝试更广阔的领域。JPanel的和可以用作典型Swing应用程序中各种其他小部件的内容窗格


我也不知道你为什么要引用Ubuntu/Gnome,因为平台的L&F与JPanel的实用程序是完全分离的。

JPanel是一种创建逻辑“划分”空间的方法,如果这有意义的话。例如,如果您考虑HTML,您可以将元素一个接一个地放在页面上(一些旧的HTML页面实际上看起来是这样的),但是使用一个容器(如表)或一些CSS样式的DIV标记在页面上创建分区,并以一种更明确的方式将元素相对放置在页面上,从美学上来说更令人愉悦

JPanel在Swing中填充此函数,其中每个JPanel都有一个布局管理器,用于定义其内部元素的布局方式。嵌套JPanel并不罕见,例如,使用一个带有菜单/状态栏边框布局的JPanel,在其中心放置一个带有更多元素的JPanel,然后在该中心“内容面板”区域内添加额外的JPanel,进一步划分空间,例如,在中心面板的一部分创建一个输入表单


从这个意义上讲,JPanel与HTML中使用表和div的方式非常相似,在创建布局时,您应该以类似的方式考虑它们。JPanels最重要的一点是它们能够动态调整大小,推动包含的组件。如果你只使用一个JPanel,并绝对定位所有内容,那么你将失去Swing的主要吸引力,以及这种容器方法。

如果你要进行任何Swing编程,你将使用JPanel,事实上,大多数GUI都应该面向生成JPanel,而不是JFrames或其他顶级容器。当我对颜色和边框不挑剔时,是否有理由在每个JFrame中使用多个JPanel?是的。每个JPanel都可以充当任意数量组件的容器,并且可以使用自己的布局。如果你创建了除最简单的GUI以外的所有GUI,你将使用几个JPanel。嗯,你不会像其他问题一样删除这个问题,是吗?你删除了我几天前处理过的一个问题。让志愿者努力回答某人的问题,却看到他们删除了问题,这是非常令人沮丧的。让我犹豫是否要再次帮助您。引用Oracle的一句话:“与其他容器一样,面板使用布局管理器来定位和调整其组件的大小。”这听起来像是由于其他容器的能力,JPanel是完全冗余的,因此不必要。或者Oracle应该重写JPanel简介。