我最近在java中开发了一个swing应用程序,问题是每当我需要将数据输入到JOptionPane.showInputDialog时,这会被调用两次,无论我在基本测试中做什么,总是显示为double。在第一个窗口中,我输入数据,当单击时,接受另一个窗口也同时显示,忽略第一个窗口。提及我的应用程序运行正常非常重要,但是当我需要在第3号选项中执行切换语句时,问题就出现了。
这是我的代码。
private void jcTemplatesItemStateChanged(java.awt.event.ItemEvent evt) {
int seleccionar = jcTemplates.getSelectedIndex();
switch (seleccionar) {
case 1:
templateField2.setText(jcTipoCliente.getSelectedItem() + " " + txtCliente.getText() + " comenta que no reconoce POD. Favor de realizar rescate del envio y entregarlo en la direccion correcta. Se le informa sobre proceso y tiempo requerido de 24-48 hrs. Queda Ok. Gracias. ");
break;
case 2:
templateField2.setText(jcTipoCliente.getSelectedItem() + " " + txtCliente.getText() + " llama para requerir informacion sobre el status del envio, ya que menciona que ha tomado demasiado tiempo y requiere confirmar fecha de entrega. Favor de actualizar a la brevedad. Se le pide tiempo y queda Ok. Gracias. ");
break;
case 3:
String dato = JOptionPane.showInputDialog(null, "NCI", "Verificar", JOptionPane.OK_CANCEL_OPTION);
if (JOptionPane.YES_OPTION == 0)
templateField2.setText(dato);
else if (JOptionPane.NO_OPTION == 1)
dispose();
break;
}
答案 0 :(得分:1)
ItemListener
可能会触发两个事件。一个用于itemDeselected
,一个用于itemSelected
。您只想显示所选事件的选项窗格。
阅读How to Write an ItemListener上Swing教程中的部分,了解更多信息和一个工作示例,以帮助您入门。