/ / एक चेकबॉक्स को अनुकूलित करें - swt, eclipse-rcp, jface

एक चेकबॉक्स को अनुकूलित करें - swt, eclipse-rcp, jface

मैं सोच रहा था अगर वहाँ एक तरह से एक शैली लागू करने के लिए है इस एक swt चेकबॉक्स पर।
मैंने कस्टम घटकों की तलाश की, लेकिन कुछ भी नहीं मिला।
आप लोगों को धन्यवाद

उत्तर:

जवाब के लिए 3 № 1

आप निम्न का उपयोग कर सकते हैं: SWT के साथ एक कस्टम बटन बनाएं

एक शुरुआती बिंदु के रूप में। के अंदर PaintListener आप बटन को उस तरह से पेंट कर सकते हैं जैसे आप उसे देखना चाहते हैं।

यहाँ एक छोटा सा उदाहरण है जो मैंने अभी आज़माया है:

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();
}
});
}
}

कहा पे Icons.ON तथा Icons.OFF दो चित्र हैं और WIDTH_OF_IMAGE और HEIGHT_OF_IMAGE आपके द्वारा उपयोग की जाने वाली छवि की चौड़ाई और ऊंचाई हैं।


जवाब के लिए 2 № 2

OPAL विगेट्स लाइब्रेरी में उस तरह के बटन होते हैं।

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