Я использую JDialog с 2 JTextfields и JButtons в нем. Когда Jdialog открывается в первый раз, у меня есть курсор на моем первом текстовом поле. Теперь, если я щелкнул где-то вне Jdialog, а затем попытаюсь щелкнуть JDialog, я не вижу курсора на любом из текстовых полей, и я не могу ничего писать или редактировать что-либо на текстовых полях.Невозможно сфокусироваться на JTextField, используемом в JDialog во второй раз на сервере linux
Я установил, что модальное значение будет истинным. Так что даже если я щелкнул где-нибудь еще, мой диалог все же появляется на экране, но деактивируется.
Эта проблема относится только к серверу linux, а не к окнам. Windows работает отлично.
Добавление примера кода для получения информации о проблеме. Здесь TestClass расширяет JFrame.
public TestClass(){
setSize(new Dimension(600,500));
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
myPanel = new JPanel();
JButton openDialog = new JButton("Click here");
openDialog.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
dialog = new JDialog(myFrame,true);
dialog.setSize(new Dimension(400,400));
JTextField myField = new JTextField(10);
JPanel innerPanel = new JPanel();
innerPanel.add(myField);
dialog.add(innerPanel);
dialog.setVisible(true);
//add(dialog);
}
});
myPanel.add(openDialog);
add(myPanel);
}
может быть неправильным Диалог родительский вопрос (нуль или неправильно JFrame/JDialog) – StanislavL
Измените свой вопрос включать [sscce] (http://sscce.org/), который демонстрирует проблему вы описываете; также укажите версии. – trashgod
привет, где я могу добавить свой код? В разделе комментариев? – user001