提兵百万西湖上,立马吴山第一峰!这篇文章主要讲述如何在窗口更改时动态调整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的一部分,它使用轻量级资源并具有更多功能。推荐阅读
- 如何从applet增加发布请求内容限制
- Javacard可共享接口(lookupAID返回AID但getAppletShareableInterface返回null)
- applet - 浏览器不显示java applet
- Applet加载来自不同域的jar;从坛子加载资源(例如图像)有问题
- JApplet(设置框架的大小)
- 无法读取AppletViewer属性文件 - Applet
- Java Applet无法加载,但浏览器显示 标签
- 在尝试连接到applet进行调试时,'shmemBase_attach失败(系统无法找到指定的文件')
- Applet(未声明类型为long的静态最终serialVersionUID字段)