我正在使用 FieldEditorPreferencePage 作为我的偏好窗口 . 我也在Preference窗口中为我的所有字段编辑器使用 FieldEditor Abstract基类 .

我有3个单选按钮,当用户点击单选按钮时,将在窗口底部显示一个文本,教育用户选择所选项,我的问题是,标签文本很长,不适合进入Preference窗口 . 我希望标签文本在窗口大小增大或缩小时自动换行,我尝试了所有可能的事情来包装文本但是文本丢失了,例如我尝试过:

GridData g = new GridData(GridData.FILL_BOTH);
g.widthHint = 200;
Label l = new Label(getFieldEditorParent(), SWT.BEGINNING | SWT.WRAP);
l.setLayoutData(g);
l.setText("Long Msg");

getFieldEditorParent() 返回字段编辑器的父组合 .

除了上面的代码,我还尝试了 GridDataLabel 的所有其他可能的参数组合,但UI部分的结果保持不变(如果文本的大小超过窗口的大小,文本将丢失) . 我可以设置窗口的大小以适应文本,但这是硬编码 .

当窗口的大小增大和缩小时,我怎么可能包装标签文本?这是 FieldEditorPreferencePage 的问题吗?在首选项页面中使用标签是否存在冲突?有人请简要说明为什么会这样?