小程序主图尺寸:小程序:窗口以较小的尺寸打开

我有一个 Applet 程序,可以直接从 Eclipse 运行以进行测试。我正在设置此 Applet 的窗口大小。但是,我看到有时小程序以较小的窗口打开,而不是设置实际的窗口大小,有时它以适当的设置大小打开setSize(550, 650);

我无法修复为什么有时会打开较小的窗口。有人可以建议我解决这个问题吗?

    public class HomeApplet extends Applet implements ActionListener
{   
public void init() {
        titleStr = "Welcome to Application Home page!";
        connectBtn = new Button("Submit");
        connectBtn.addActionListener(this);
        add(connectBtn);  
        connectBtn.setBounds(100, 120, 90, 20);
        connectBtn.setEnabled(true);
        setLayout( null );
        setSize(550, 650);
        sharedImage = new ImageIcon("sameer15.jpg" ).getImage(); 
}
public void paint (final Graphics g)
    {
        //super.paint(g);
        int x = getSize().width;
        int c1 = x/2;
        Font titleFont = new Font("Arial", Font.BOLD, 20);
        g.setFont(titleFont);
        g.drawString(titleStr, c1-170, 20);
        Font connectFont = new Font("Arial", Font.BOLD, 15);
        g.setFont(connectFont);
        g.drawString(connectStr, c1-190, 80);
        g.drawImage(sharedImage, 100, 100, this);
        System.out.println("drawImage"); 
    }
}
2

有人可以建议我解决这个问题吗?

通过在源代码顶部的代码块中包含applet元素,可以在 AppletViewer 中测试该 applet。

即变更:

public class HomeApplet extends Applet implements ActionListener

像这样的东西:

/* <applet code=HomeApplet width=550 height=650></applet> */
public class HomeApplet extends Applet implements ActionListener

然后编译并运行:

prompt> javac HomeApplet.java
prompt> appletviewer HomeApplet.java

笔记

setSize(550, 650);

这对于 applet 来说是完全错误的。applet 的大小应该在 HTML 中或通过其他方式设置。applet(实际上是网页中的guest)无权调整自己的大小(这就像您的访客来访,并且为了“更多的空间”而撞墙)。

问题

这些不是修辞问题。另一种说法是:我希望看到这些问题的答案

为什么要编写小程序?如果是由于规范。老师,请参考Why CS teachers should stop teaching Java applets

为什么是 AWT 而不是 Swing?请参阅我的答案Swing extras over AWT有很多很好的理由放弃使用 AWT 组件。

未来的问题

sharedImage = new ImageIcon("sameer15.jpg" ).getImage(); 

当您从命令行在 Applet Viewer 中进行测试或在网页中嵌入测试时,在 Java 控制台中看到AccessControlException时,您将开始发现这是多么错误。..但是我们可以在单独的 Q & amp;A;;中处理

0

Eclipse 中的简单答案是:

如果你有多个 java 类打开,你“运行”程序从一个类以外的 init()和 setSize(550,650),那么窗口将默认为小。

使用 setSize()打开类并从那里运行它。问题解决了。

这让我发疯,直到我弄清楚。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(544)
宴亭录po:PO盒验证(example of a po box address)
上一篇
Eternal:具有结构的永久存储模式(eternal pattern)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(31条)