/ / dostosuj pole wyboru - swt, eclipse-rcp, jface

dostosuj pole wyboru - swt, eclipse-rcp, jface

Myślałem, czy istnieje sposób na zastosowanie stylu to na pole wyboru SWT.
Szukałem niestandardowych komponentów, ale niczego nie znalazłem.
Dzięki chłopaki

Odpowiedzi:

3 dla odpowiedzi № 1

Możesz użyć następujących: Utwórz niestandardowy przycisk za pomocą SWT

jako punkt wyjścia. W ramach PaintListener możesz pomalować przycisk w taki sposób, w jaki chcesz, aby wyglądał.

Oto mały przykład, który właśnie próbowałem:

import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;

public class ImageButton extends Canvas {
private boolean checked = false;
private final ImageButton button = this;

public ImageButton(Composite parent, int style) {
super(parent, style);

this.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
if(checked)
{
e.gc.drawImage(Icons.ON, 0, 0);
}
else
{
e.gc.drawImage(Icons.OFF, 0, 0);
}
button.setSize(WIDTH_OF_IMAGE, HEIGHT_OF_IMAGE);
}
});
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseUp(MouseEvent e) {
checked = !checked;
redraw();
}
});
}
}

gdzie Icons.ON i Icons.OFF są dwa obrazy, a WIDTH_OF_IMAGE i HEIGHT_OF_IMAGE to szerokość i wysokość używanego obrazu.


2 dla odpowiedzi nr 2

Biblioteka widgetów OPAL ma tego rodzaju przyciski.

http://code.google.com/a/eclipselabs.org/p/opal/wiki/SwitchButton