|
How to use the Diff API in NetBeans |
|
|
From an action or wherever you like you can call this:
public void diff(final StreamSource local, final StreamSource remote){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
DiffView view = Diff.getDefault().createDiff(local, remote);
showDiff(view);
} catch (IOException ex) {
ex.printStackTrace();
}
}
});
}
public void showDiff(final DiffView view){
SwingUtilities.invokeLater (new Runnable() {
public void run() {
//create our panel with our view
//right now I am just going to use the diff component instead of a panel
//create a top component with our panel
DiffTopComponent tc = new DiffTopComponent(view);
tc.setName("MY_DIFF");
tc.setDisplayName("Some display name");
tc.open();
tc.requestActive();
}
});
}
|
Here is a top component to display it:
public class DiffTopComponent extends TopComponent{
/** Creates a new instance of DiffTopComponent */
public DiffTopComponent(Component diffPanel) {
setLayout(new BorderLayout());
add(diffPanel, BorderLayout.CENTER);
getAccessibleContext().setAccessibleName(NbBundle.getMessage(DiffTopComponent.class ,
"ACSN_Diff_Top_Component")); // NOI18N
getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(DiffTopComponent.class,
"ACSD_Diff_Top_Component")); // NOI18N
}
public DiffTopComponent(DiffView view) {
this(view.getComponent());
}
public int getPersistenceType(){
return TopComponent.PERSISTENCE_NEVER;
}
protected String preferredID(){
return "DiffTopComponent"; //NOI18N
}
public HelpCtx getHelpCtx() {
return new HelpCtx(getClass());
}
}
|
Related Tips
|
Page 1 of 0 ( 0 comments )
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.