gpt4 book ai didi

Java AWT : Will applet run without main(), init()、start()、paint()

转载 作者:行者123 更新时间:2023-12-01 17:22:09 25 4
gpt4 key购买 nike

我正在学习 AWT,并计划稍后学习 Swing。

我找到了以下小程序代码,据我所知,当存在以下方法时,小程序将开始运行:main()、init()、start()、paint()...

每次单击鼠标时,小程序都会增加其宽度和长度尺寸:

在这段代码中,上述内容都不存在,ResizeMe 方法是如何调用的?如果没有调用 resize 方法,如何调用 addmouselistener?编辑:顺便说一句,代码有效

// Resizing output to fit the current size of a window.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*
<applet code="ResizeMe" width=200 height=200>
</applet>
*/

public class ResizeMe extends Applet {
final int inc = 25;
int max = 500;
int min = 200;
Dimension d;

public ResizeMe() {
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent me) {
int w = (d.width + inc) > max?min :(d.width + inc);
int h = (d.height + inc) > max?min :(d.height + inc);
setSize(new Dimension(w, h));
}
});
}
public void paint(Graphics g) {
d = getSize();

g.drawLine(0, 0, d.width-1, d.height-1);
g.drawLine(0, d.height-1, d.width-1, 0);
g.drawRect(0, 0, d.width-1, d.height-1);
}
}

谢谢,路德

最佳答案

ResizeMe() 是构造函数。因此,它在类创建时被调用,因此,您的鼠标监听器被添加。 paint() 由 GUI 事件处理线程调用。

关于Java AWT : Will applet run without main(), init()、start()、paint(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17929583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com