如何在窗口更改时动态调整applet组件的大小()

提兵百万西湖上,立马吴山第一峰!这篇文章主要讲述如何在窗口更改时动态调整applet组件的大小?相关的知识,希望能为你提供帮助。
我尝试使用以下代码在applet上显示图像,但是当我尝试更改applet窗口的大小时,加载的图像没有调整大小,为什么会发生这种情况?

import java.applet.*; import java.awt.*; public class ImageViewer extends Applet { Image image; int imageX, imageY; MediaTracker mt; public void init() { showStatus("Getting image..."); mt = new MediaTracker(this); image = getImage(getDocumentBase(), "fruits.jpg"); mt.addImage(image, 0); }public void start() { showStatus("Loading image..."); try { mt.waitForAll(); } catch(Exception e) { e.printStackTrace(); } while(!mt.checkAll(true)){} imageX = image.getWidth(this); imageY = image.getHeight(this); showStatus("Resizing Applet image size: " + imageX + "x" + imageY); resize(imageX, imageY); }public void paint(Graphics g) { showStatus("Drawing image..."); g.drawImage(image, 0, 0, this); }}

答案当您使用Graphics.drawImage方法时,图像不会调整大小,该方法使用图像自己的大小而不是Applet容器的大小
g.drawImage(image, 0, 0, this);

你可以替换它
g.drawImage(image, 0, 0, getWidth(), getHeight(), this);

也别忘了打电话
super.paint(g);

绘制任何子组件,包括容器背景。
【如何在窗口更改时动态调整applet组件的大小()】顺便说一句:java.awt.Applet现在已成为一种遗物,已被JApplet取代。这是Java Swing的一部分,它使用轻量级资源并具有更多功能。

    推荐阅读