netbeans 正在尝试将DiffView添加到JPanel

zmeyuzjn  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(97)

我正在开发一个基于netbeans平台的应用程序,并且重用了diff组件。

panel = new javax.swing.JPanel();
panel.setLayout(new java.awt.BorderLayout());
DiffView view = Diff.getDefault().createDiff(original, processed);
panel.add(view.getComponent(), BorderLayout.CENTER);

但是Diff组件没有添加到面板中。如果我添加另一个面板而不是Diff组件,它就可以工作。同时,如果我使用下面的代码:

DiffView view = Diff.getDefault().createDiff(original, processed);
TopComponent tc = new TopComponent();
tc.setDisplayName("Diff Viewer");
tc.setLayout(new BorderLayout());
tc.add(view.getComponent(), BorderLayout.CENTER);
tc.open();
tc.requestActive();

它可以工作,但在另一个窗口中显示组件,这不是我想做的。
我的代码有什么问题?如何将Diff组件添加到面板中?

vuktfyat

vuktfyat1#

将DiffView添加到面板后,调用以下代码来解决问题

panel.revalidate();

//or
panel.repaint();

相关问题