加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何在Applet扩展类中调用paint方法?

发布时间:2020-12-15 08:46:28 所属栏目:Java 来源:网络整理
导读:我有两个名为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); }}
我有两个名为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",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);
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读