2016-12-12 4 views
1

Я работаю с FXRuby, и я пытаюсь выяснить, как иметь диалоговое окно ошибки, подобноеFXMessageBox в Руби

JOptionPane.showMessageDialog(null, "Error", "Error!", JOptionPane.ERROR_MESSAGE); 

в Java. Самый близкий эквивалент, который я нашел, - FXMessageBox.error, однако использование этого метода представляется невозможным. В документации указаны следующие параметры в порядке, FXMessageBox.error(owner, opts, caption, message). Я попытался это до сих пор

app = FXApp.new 

FXMessageBox.error(app, nil, 'Error', 'Error!') 

Однако, это дает мне ошибку

Неправильные аргументы для перегруженного метода «FXMessageBox.error».

Когда я пытаюсь сделать

FXMessageBox.error(app, FXMessageBox::MBOX_OK, 'Error', 'Error!') 

я

FXMessageBox :: создать: пытается создать окно до создания родительского окна.

Как создать запрошенное поле ошибки?

ответ

1

MBOX_OK требуется, как вы сказали. Если вы создаете приложение перед его запуском, вы увидите диалоговое окно с ошибкой. Вот рабочий пример:

require 'fox16' 
include Fox 

app = FXApp.new 
app.create 
FXMessageBox.error(app, MBOX_OK, 'Error', 'Error!') 
app.run 
+0

Это было идеально! Огромное спасибо. –

Смежные вопросы