尝试将 DiffView 添加到 JPanel
Trying to add a DiffView to a JPanel
我正在开发一个基于 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();
它可以工作,但在另一个 window 中显示该组件,这不是我想要的。
我的代码有什么问题,如何将 Diff 组件添加到面板?
谢谢。
添加DiffView到面板后,调用以下代码解决问题
panel.revalidate();
//or
panel.repaint();
我正在开发一个基于 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();
它可以工作,但在另一个 window 中显示该组件,这不是我想要的。
我的代码有什么问题,如何将 Diff 组件添加到面板?
谢谢。
添加DiffView到面板后,调用以下代码解决问题
panel.revalidate();
//or
panel.repaint();