Java 单击按钮以激活JOptionPane.ShowOption对话框在关闭后保持单击状态
我觉得我已经完成了繁重的工作,现在我被困在了应该是最简单的部分上,关上了我的窗格。谁能告诉我我做错了什么吗?我认为这些是适用的位,但如果需要,我很乐意添加更多。谢谢 我有一个JOptionPane.showOptionDialog,它可以处理一些复杂的事情。我有一个翻译按钮:Java 单击按钮以激活JOptionPane.ShowOption对话框在关闭后保持单击状态,java,swing,jbutton,joptionpane,Java,Swing,Jbutton,Joptionpane,我觉得我已经完成了繁重的工作,现在我被困在了应该是最简单的部分上,关上了我的窗格。谁能告诉我我做错了什么吗?我认为这些是适用的位,但如果需要,我很乐意添加更多。谢谢 我有一个JOptionPane.showOptionDialog,它可以处理一些复杂的事情。我有一个翻译按钮: private void jButton25ActionPerformed(java.awt.event.ActionEvent evt) { //Translate 这将启动此面板: int resul
private void jButton25ActionPerformed(java.awt.event.ActionEvent evt) {
//Translate
这将启动此面板:
int result = JOptionPane.showOptionDialog(null, xlf_myPanel, "Navigate Segments",
JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE,
null, xoptions, null);
到目前为止,一切都很好:
System.out.println(myglobal+" source: " + xlf_xField.getText());
System.out.println(xlf_varig+"target: " + xlf_yField.getText());
PrintWriter out = new PrintWriter("x-files/temp/"+xlf_varig+"-.txt");
out.println(xlf_yField.getText());
out.close();
我做一些转换
switch( result ) {
case 0:
// Next selected
myglobal +=1 ;
runnavigate("n/a moved this into runtransform", "x-files/out/tmx.xml", "x-files/xsl/xliff2tmx.xsl");
textfield.setText(String.valueOf(myglobal));
break;
case 1:
// Previous selected
myglobal -=1 ;
runnavigate("n/a moved this into runtransform", "x-files/out/tmx.xml", "x-files/xsl/xliff2tmx.xsl");
textfield.setText(String.valueOf(myglobal));
break;
case 2:
// First selected
myglobal = 0 ;
// jButton26.setEnabled(true);
runnavigate("n/a moved this into runtransform", "x-files/out/tmx.xml", "x-files/xsl/xliff2tmx.xsl");
textfield.setText(String.valueOf(myglobal));
break;
case 3:
// Last selected
myglobal = mylastglobal ;
// jButton25.setEnabled(true);
runnavigate("n/a moved this into runtransform", "x-files/out/tmx.xml", "x-files/xsl/xliff2tmx.xsl");
textfield.setText(String.valueOf(myglobal));
break;
case 4:
// Done selected
//result.dispose(); // not working - this says cannot dispose int
System.out.println( "Done chosen" );
break;
case JOptionPane.CLOSED_OPTION:
// User closed the box. Nothing selected.
System.out.println( "Dialog Closed" );
break;
}
但当我点击“完成”按钮时,“翻译”按钮保持单击状态。如何使其正确关闭?您的结果是一个int,它是一种基本数据类型,您正在对其调用dispose。你不能那样做。编译器正在说些什么,这是正确的!为什么要处理结果?只需删除该声明,它就可以正常工作。谢谢你的建议。你的意思是说把它拿走吗?正如您在我的示例代码中看到的那样,我是通过注释完成的。这给我留下了一个按钮,上面写着“按下”,这就是我试图解决的问题。你能帮我理解如何取消按下按钮吗?解决了。这是我没有展示的代码的一部分:xlf_myPanel.addjButton25;我正在向面板添加与按钮调用的按钮相同的按钮。我移除了它,现在“完成”按钮工作得非常出色。