1

我首先要说我对java有点陌生,所以如果这是一个愚蠢的错误,那就是原因。

我在java中弄乱了小程序,在设置窗口大小和使用JOptionPane时遇到了问题,无论是只是显示一条消息,还是通过它获取输入,它都会显示三个或更多窗格,而不是只是一个。我在 Ubuntu 12.04(x64) 上,这是我仍然遇到问题的测试代码:

import javax.swing.JOptionPane;
import java.awt.Graphics;
import java.applet.Applet;

public class Main extends Applet{

    public void paint(Graphics g)
    {
        //setup screen size
        setSize((int)500,(int)500);
        //print test message
        JOptionPane.showMessageDialog(null, "There Should Be One Of Me!");
    }
}
4

2 回答 2

2

这是意料之中的:选项窗格的数量与调用paint 方法的次数一样多:-) 后者在AWT 和Swing 中都不受应用程序代码的控制。

作为一般规则,永远不要在绘制周期中调用的方法中更改任何组件状态

于 2012-07-08T18:07:49.843 回答
0
  1. 移除setSize(..JOptionPane.sh...移除public void paint(Graphics g)

  2. 对于 Applet,我想念那里的方法 init()

  3. (J)Applet教程展示几个例子

  4. 也许更好的是使用Swing JFrame而不是(J)Applet

于 2012-07-07T18:14:57.390 回答