我有两个名为PaintMe.java和Starter.java的类文件.
PaintMe.java包含:
import java.applet.Applet;
import java.awt.*;
public class PaintMe extends Applet {
public void paint(Graphics g) {
g.setColor(Color.red);
g.drawString("HELLOOO", 15, 25);
}
}
Starter.java包含:
import java.applet.Applet;
import java.awt.Graphics;
public class Starter {
public static void main(String[] args) {
PaintMe ring = new PaintMe();
ring.paint();
}
}
所以问题是,如何通过从Starter.java调用paint方法来绘制我的字符串?
解决方法:
要进行编译,请进行更改
ring.paint();
..至..
ring.repaint();
笔记
>在这个千年里,不要使用AWT进行编码.使用Swing(提供JApplet
).
>不要从main(String [])启动applet.当JRE嵌入网页(或使用JWS启动)时,小程序会启动小程序.可以在面板中设计GUI,然后将其放入*浮动的应用程序或小程序中.这被称为混合动力车.但框架和小程序分别添加了GUI,这通常是(通常)不同的类.
>它存在的主要是无用的.除非将applet添加到容器中并使其可见,否则代码将成功运行,但会在几分钟内结束而不显示任何内容.
更新1
..tried that, but it still doesn’t draw my string in the applet window.
试试这个.
资源
// <applet code='PaintMe' width=300 height=50></applet>
import java.applet.Applet;
import java.awt.*;
public class PaintMe extends Applet {
public void paint(Graphics g) {
g.setColor(Color.red);
g.drawString("HELLOOO", 15, 25);
}
}
提示
> javac PaintMe.java
> appletviewer PaintMe.java
截图
更新2
..I need to have it started from Starter.java class.
我认为这是一个愚蠢的要求,似乎JWS(如在评论中提到和链接)启动JFrame是查看此GUI的最佳方式. OTOH,这是一个(非常)天真的Starter类实现,它将在屏幕上显示applet.
它混合了AWT和Swing(坏),它不会尝试实现任何类型的applet上下文,也不会调用applet init / start / stop / destroy方法,但足以从另一个类中获取applet.
import java.awt.Dimension;
import javax.swing.JOptionPane;
public class Starter {
public static void main(String[] args) {
PaintMe ring = new PaintMe();
ring.setPreferredSize(new Dimension(250,30));
JOptionPane.showMessageDialog(null, ring);
}
}