【问题标题】:Trying to add a DiffView to a JPanel尝试将 DiffView 添加到 JPanel
【发布时间】:2019-05-23 17:59:17
【问题描述】:

我正在开发一个基于 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 组件添加到面板?
谢谢。

【问题讨论】:

    标签: java netbeans netbeans-platform netbeans-plugins


    【解决方案1】:

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

    panel.revalidate();
    
    //or
    panel.repaint();
    

    【讨论】:

    • 就我而言,这还不够。在将其添加到面板之前,我必须手动设置大小 (view.getComponent().setSize(x,y))。
    猜你喜欢
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 2013-08-08
    • 2010-12-18
    相关资源
    最近更新 更多