Java - невозможно установить модальное диалоговое окно, чтобы включить рамку, пока диалоговое окно ожидает ввода - PullRequest
1 голос
/ 04 октября 2011
  for(int i=0;i<index_imageList.getModel().getSize();i++)
   {

   //displaying the image viewer 
   ImageZoomerFrame imageZoomer = new ImageZoomerFrame(image, zoom_percentage, imagePath);
   imageZoomer.setSize(Toolkit.getDefaultToolkit().getScreenSize());
   imageZoomer.validate();

   //creating JOptionPane with Input Method

   JOptionPane pane = new JOptionPane();
   pane.setMessage("Please Enter Data To Index");
   pane.setWantsInput(true);



   // Pachking pane with dialog
   JDialog dialog= pane.createDialog(this, "Index");
   dialog.pack();
   dialog.setAlwaysOnTop(true);
   dialog.setVisible(true); 

    //wait for the input
   index=pane.getInputValue().toString();

    //dispose image viewer
   imageZoomer.dispose();
  }

В этом Java-коде после шоу JOptionPane InputDialog я не могу управлять кадром средства просмотра изображений и если я добавлю dialog.setModal(false);, он не будет ждать ввода, и forloop просто продолжится.

Что мне действительно нужно, так это чтобы я мог управлять кадром средства просмотра изображений, чтобы увеличивать или уменьшать его, и в то же время заставлять программу ждать продолжения ввода пользователя.

Ответы [ 2 ]

2 голосов
/ 04 октября 2011

Используйте (немодальный) JDialog с полем ввода, кнопку OK (и Отмена), добавьте обработчик действия к кнопке OK и выполните масштабирование этого обработчика действия.

1 голос
/ 04 октября 2011

почему вы мультиплеер JOptionPane и с помощью JDialog вы можете настроить JOptionPane или добавить любой из JComponent в JOptionPane, ничего лучше, чем сообщение от @ Эндрю Томпсон об этом около

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...