下面是我的代码:(它非常混乱,我只是在收集我的想法。我有一个更正式的程序,它要大得多,我将在稍后实现它)
当我选择A-E时,我会弹出一个带有“选择”或“取消”的对话框。我不希望原来的框架关闭。
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JLabel;
import java.awt.*;
import javax.swing.*;
public class Quiz
{
public static void main(String[] args)
{
String message = "";
for(int j = 0; j < 40; j++)
message += "hello world ";
JScrollPane scrollPane = new JScrollPane(new JLabel(message));
scrollPane.setPreferredSize(new Dimension(500,400));
Object test = scrollPane;
String[] possibleAns = { "E", "D", "C", "B", "A" };
JTextArea textArea = new JTextArea(message);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setMargin(new Insets(5,5,5,5));
scrollPane.getViewport().setView(textArea);
test = scrollPane;
int rc = JOptionPane.showOptionDialog(null, test, "Advanced Quiz Program",
JOptionPane.WARNING_MESSAGE, 0, null, possibleAns, possibleAns[0]);
System.out.println(rc);
String[] pick = {"Pick", "Close" };
switch(rc)
{
case 4:
System.out.println("You picked A");
JScrollPane scrollPane2 = new JScrollPane(new JLabel(message));
scrollPane.setPreferredSize(new Dimension(500,400));
Object messaseA = scrollPane;
JTextArea textArea2 = new JTextArea("blah blah");
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setMargin(new Insets(5,5,5,5));
scrollPane.getViewport().setView(textArea);
test = scrollPane;
int retVal = JOptionPane.showOptionDialog(null, test, "Advanced Quiz Program",
JOptionPane.WARNING_MESSAGE, 0, null, pick, pick[0]);
break;
case 3:
System.out.println("You picked B");
break;
case 2:
System.out.println("You picked C");
break;
case 1:
System.out.println("You picked D");
break;
case 0:
System.out.println("You picked E");
break;
default:
System.out.println("error");
}
}
}
最佳选择:不要使用joptionpane。如果您想要一个顶级的主窗口,请使用JFrame,如果您想要一个保持打开但非模式的对话框窗口,请使用非模式的JDialog。如果您想要一个模式对话框窗口,那么可以使用JOptionPane或模式JDialog(JOptionPane实际上是从它创建的)。
如果必须使用JOptionPane,则可以使用JOptionPane构造函数创建一个对话框,从中提取对话框,并使其非模态化。
根据您的编辑和代码,您似乎确实试图使用JOptionPane作为主程序窗口,这是您真的不想做的。让我建议:
问题内容: 我想使用新配置重新启动elasticsearch节点。正常关闭节点的最佳方法是什么? 关闭进程是关闭服务器的最佳方法,还是我可以使用一些神奇的URL关闭节点? 问题答案: 更新的答案。 API已在elasticsearch 2.x中删除。 一些选项: 在您的终端(基本上是开发模式)中,只需键入“ Ctrl-C” 如果您以守护程序()的身份启动它,请找到PID并终止该进程:将彻底关闭El
我想让用户在点击我的网站背景图片(父图)时进入某个网站,但当用户点击我的网站内容(子图)时,该功能需要关闭,然后当用户再次点击背景图片(父图)时,该功能将被activity。 我尝试了很多次,但当我点击我的网站内容(子div),并再次点击网站背景图片(父div),该功能不起作用。 我能做什么?谢谢! 下面是我的代码:
我通过创建固定数量的线程来使用执行器服务来进行HTTP GET数据检索。 当Tomcat停止时,我们会出现以下错误: 严重:web应用程序[/viewer]似乎已启动名为[ThreadExecutor_51616156]的线程,但未能停止该线程。这很可能会造成内存泄漏。 这是真的吗?在没有这些服务错误的情况下,如何正确停止tomcat。
我使用Pygame和Pydub用Python编写了一个音乐播放器(我使用Pygame实际播放音乐,而Pydub可能与这个问题无关)。 除非我切换到另一个Pygame窗口,否则即使切换了窗口,音乐也能正常工作。我认为如果我编译它(cx_freeze),这种效果会消失,但那不起作用。 所以我想知道是否有什么方法可以让音乐在窗口切换到另一个Pyplay窗口时继续播放。 我使用而不是声音对象,如果可能有某
我正在制作一个单位转换器,遇到了一个问题与JoptionPane.ShowMessageDialog代码是完整的,应该运行良好。 如果将两个转换单元都放到同一个单元,转换器将显示一个消息对话框。当消息窗口弹出,它说消息,然后一个确定按钮点击。当我单击Ok按钮时,它不会退出消息对话框。我从这个转换器的另一个更长的版本中为它复制了代码行,它可以很好地使用它。另外,如果你对如何做更好的数学有任何建议,请
我正在使用这个库:https://github.com/jamesmontemagno/dibrateplugin 振动函数只获得参数。我该怎么办?