我有一个使用JEditorPane的应用程序。我在Mac上和Java 6一切都没有任何问题(它是可编辑的)。现在,我正在运行Java 7,而Editor-Panel是只读的。 我试图调试,但只要我在任何地方使用断点,它就不再是只读的了。按下按钮时也是如此(除了打开消息窗口之外什么也没做)。虽然调整窗口大小没有任何影响。 此外,该面板的一个实例在其他地方使用没有任何问题。
我已经没有想法如何弄清楚出了什么问题。
我尝试使用此示例重现错误。它也显示为不可编辑但我完全不确定它是否连接。由于我在插件中有swt-dependencies,我需要使用swt / awt桥来运行示例:
public static void main(String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
shell.setText("undo-edit-panel");
Composite myComp = new Composite(shell, SWT.EMBEDDED | SWT.NO_BACKGROUND);
java.awt.Frame fileTableFrame = SWT_AWT.new_Frame(myComp);
JPanel panel = new JPanel(new BorderLayout());
fileTableFrame.add(panel);
JEditorPane edit = new JEditorPane();
edit.setText("some text");
//Put the editor pane in a scroll pane.
JScrollPane editorScrollPane = new JScrollPane(edit);
editorScrollPane.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
editorScrollPane.setPreferredSize(new Dimension(250, 145));
editorScrollPane.setMinimumSize(new Dimension(10, 10));
panel.add(editorScrollPane, java.awt.BorderLayout.CENTER);
myComp.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}