Ruby 中的 AFXMessageBox

FXMessageBox in Ruby

我正在使用 FXRuby,我正在尝试弄清楚如何使用类似于

的错误对话框

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!')

但是,它给了我错误

Wrong arguments for overloaded method 'FXMessageBox.error'.

当我尝试做

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

我明白了

FXMessageBox::create: trying to create window before creating parent window.

如何创建请求的错误框?

正如您所说,

MBOX_OK 是必需的。如果您在 运行 之前创建应用程序,您应该会看到错误对话框。这是一个工作示例:

require 'fox16'
include Fox

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