Java 为什么我不能将JPanel添加到JPanel?

Java 为什么我不能将JPanel添加到JPanel?,java,swing,user-interface,Java,Swing,User Interface,我想画一张像这样的天气图: 在顶部,有一个包含信息(标题,…)的标题,下面是实际图片。我试图像下面那样对程序建模,但它没有显示天气图的图像 稍后,我想能够调整整个wheather地图(标题和图片)的大小 正如你所看到的,我尝试了几种不同的方法,但没有任何效果。你能帮我做个模型吗?(JPanel上的JPanel,或JPanel上的BuffereImage,…) 创建3个构件,但不将构件添加到配电盘 我不太清楚你想做什么,因为你试图阅读同一张图片两次,所以我不知道为什么你有一张“WeatherIm

我想画一张像这样的天气图:

在顶部,有一个包含信息(标题,…)的标题,下面是实际图片。我试图像下面那样对程序建模,但它没有显示天气图的图像

稍后,我想能够调整整个wheather地图(标题和图片)的大小

正如你所看到的,我尝试了几种不同的方法,但没有任何效果。你能帮我做个模型吗?(JPanel上的JPanel,或JPanel上的BuffereImage,…)

创建3个构件,但不将构件添加到配电盘

我不太清楚你想做什么,因为你试图阅读同一张图片两次,所以我不知道为什么你有一张“WeatherImage”和一张“ImagePanel”

因此,我建议您首先尝试以下内容,以了解如何使用带有布局管理器的面板

imagePanel = new ImagePanel();
descriptionPanel = new DescriptionPanel("Wetterkarte 1");

setLayout( new BorderLayout() );
add(descriptionPanel, BorderLayout.PAGE_START);
add(imagePanel, BorderLayout.CENTER);
此外,也不需要创建自定义绘画来简单地以实际大小绘制图像。您可以使用ImageIcon将图像添加到JLabel:

image = ImageIO.read(…);
JLabel imageLabel = new JLabel( new ImageIcon(image) );
现在,您可以将标签添加到所需的任何面板中

imagePanel = new ImagePanel();
descriptionPanel = new DescriptionPanel("Wetterkarte 1");

setLayout( new BorderLayout() );
add(descriptionPanel, BorderLayout.PAGE_START);
add(imagePanel, BorderLayout.CENTER);
image = ImageIO.read(…);
JLabel imageLabel = new JLabel( new ImageIcon(image) );