English 中文(简体)
add toolbar to section
原标题:

I want to add a toolbar to a section in SWT. There is an example i saw in the PDE manifest editor.

How can i add this toolbar or buttons? maybe i need to use a different control?

Thank you, Ido

最佳回答

You can use ImageHyperLink control. I think that s what the PDE manifest editor uses.

Section section = new Section(parent, SWT.NONE);
Composite toolbar = new Composite(section, SWT.NONE);
RowLayout layout = new RowLayout(SWT.HORIZONTAL);
layout.marginLeft = 0;
layout.marginRight = 0;
layout.spacing = 0;
layout.marginTop = 0;
layout.marginBottom = 0;
toolbar.setLayout(layout);
parent.setTextClient(toolbar);

ImageHyperlink imageHyperLink = new ImageHyperlink(toolbar, SWT.CENTER);
imageHyperLink.setBackgroundImage(section.getBackgroundImage());
imageHyperLink.setToolTipText("Click me for help");
imageHyperLink.setImage(JFaceResources.getImage(Dialog.DLG_IMG_HELP));
imageHyperLink.addHyperlinkListener(new HyperlinkAdapter()
{
    public void linkActivated(HyperlinkEvent e)
    {
         // Show help
    }
});
问题回答

Since the posted solution didn t produce a transparent-background icon, I made some research on how to get the same result as in Extension Page of the Plug-In Manifest Editor.

Plug-In Manifest Editor - Extensions Page

Here is how they create the toolbar:

    ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
    ToolBar toolbar = toolBarManager.createControl(section);
    toolbar.setCursor(Display.getDefault().getSystemCursor(SWT.CURSOR_HAND));

    // Add sort action to the tool bar
    fSortAction = new SortAction(fExtensionTree, PDEUIMessages.ExtensionsPage_sortAlpha, null, null, this);
    toolBarManager.add(fSortAction);
    // Add collapse action to the tool bar
    fCollapseAction = new CollapseAction(fExtensionTree, PDEUIMessages.ExtensionsPage_collapseAll);
    toolBarManager.add(fCollapseAction);

    toolBarManager.update(true);

    section.setTextClient(toolbar);

EDIT:

This seems to work very well, too:

ToolBar toolbar = new ToolBar(section, SWT.NONE);
//add the toolitems here
//...
section.setTextClient(toolbar);

Do not let Window Builder Tool adapt the toolbar with FormToolkit, or you will get a white background painted.





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签