gpt4 book ai didi

Java,JoptionPane : the yes-no dialog keeps on showing

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

我正在尝试解决 Java 教科书中的一个练习,该练习需要编写一段代码来打开是/否 gialog,询问用户是否要绘制一个实心圆并将其着色为红色(是)或不(否),在这种情况下颜色为黑色(默认情况下;但为了清楚起见,我决定无论如何在我的代码中包含一个特定的语句)。我想到了(IDE:NetBeans)...:

int centre = JOptionPane.showConfirmDialog(null, "Do you want I turn the solid center circle color from black to red?", 
"Click Yes or No:", JOptionPane.YES_NO_OPTION);

if (centre == JOptionPane.YES_OPTION)
{
canvas.setColor(Color.RED);

}
else if (centre == JOptionPane.NO_OPTION)
{
canvas.setColor(Color.BLACK);
}

canvas.drawOval(200, 200, 100, 100);
canvas.fillOval(225, 225, 50, 50);

...,但在选择任一选项后,对话框不断打开。如果没有对话框+ else-if 分支,即使根据您包含的 canvas.setColor(Color.RED); 仅以红色或黑色绘制实心圆,代码也能正确执行。声明或不声明。[我想念/我不知道]什么?非常感谢所有能够向我建议最简单(嘿!我是初学者)方法来编写所需代码的人。也非常感谢所有其他人:)。

最佳答案

您可能在 paintComponent() 中有这段代码,这是一个非常非常糟糕的主意。 每次 swing 需要绘制组件时都会调用 paintComponent()

应该在事件监听器中调用此对话框(例如,当用户单击按钮时)。然后,它应该将答案存储在某个 boolean 字段中,并且 paintComponent() 方法应该读取该 boolean 字段来决定绘制什么。

关于Java,JoptionPane : the yes-no dialog keeps on showing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29715209/

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