gpt4 book ai didi

java - JOptionPane.showinputdialog 在小程序中打开两次

转载 作者:行者123 更新时间:2023-12-01 22:43:33 24 4
gpt4 key购买 nike

public void paint(Graphics g) {
myWidth = getSize().width; // get this Applet size
myHeight = getSize().height;
double xCoord, yCoord;
int yPixel;
String str = JOptionPane.showInputDialog("Enter your name.");
g.drawString(str, 100, 100);

for (int xPixel = 0; xPixel < myWidth; xPixel++) {
xCoord = (double) (xPixel - myYAxisHPos) / myXUnitPixels;
yCoord = f(xCoord);
yPixel = (int) (myXAxisVPos - yCoord * myYUnitPixels);
g.drawLine(xPixel, yPixel, xPixel, yPixel);
}
}

我想知道为什么当我启动小程序时它会打开两次。任何帮助将不胜感激。

最佳答案

public void paint(Graphics g)
{
..
String str = JOptionPane.showInputDialog("Enter your name.");

切勿在 paint(Graphics) 方法中更改 GUI 或弹出模式对话框!后者会阻塞 EDT,两者都会导致循环。

I'm wondering why it opens twice when I start my applet

Paint可能随时被调用,这不在程序员的控制范围内。

相反,该方法应移至 init() 方法,并将结果存储为类属性。

类似于:

String str = null;

@Override
public void init() {
str = JOptionPane.showInputDialog("Enter your name.");
//..
}

关于java - JOptionPane.showinputdialog 在小程序中打开两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714245/

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