2011-05-31 15 views
7

मैं एक SWT छवि आकर्षित करने के लिए कोशिश कर रहा हूँ लेकिन कुछ भी प्रकट होता है:स्विट छवि कैसे आकर्षित करें?

Display display = new Display(); 
Shell shell = new Shell(display); 
shell.open(); 

Image image = new Image(display, "C:/sample_image.png"); 
Rectangle bounds = image.getBounds(); 

GC gc = new GC(image); 
gc.drawImage(image, 100, 100); 
// gc.drawLine(0, 0, bounds.width, bounds.height); 
// gc.drawLine(0, bounds.height, bounds.width, 0); 
// gc.dispose(); 
// image.dispose(); 

while (!shell.isDisposed()) { 
    if (!display.readAndDispatch()) 
    display.sleep(); 
} 
display.dispose(); 

मैं परीक्षण किया है कि छवि मौजूद है और सामग्री है - किसी भी विचार?

+0

आप इस छवि को कहां आकर्षित करना चाहते हैं? मेरे प्रदर्शन पर –

+0

। खोल खोला गया है लेकिन खाली है। – u123

+0

संभव डुप्लिकेट [जावा में स्विट के साथ एक छवि कैसे दिखाना है?] (Http://stackoverflow.com/questions/4447455/how-to-show-up-an-image-with-swt-in-java) – McDowell

उत्तर

8

एक लेबल बनाएं और उस पर छवि सेट करें।

Image myImage = new Image(display, "C:/sample_image.png"); 
Label myLabel = new Label(shell, SWT.NONE); 
myLabel.setImage(myImage); 

यह आपके लिए पर्याप्त हो सकता है।

3

आमतौर पर, कोई छवि खींचने के लिए कैनवास का उपयोग करता है।

// Create a canvas 
Canvas canvas = new Canvas(shell, SWT.NONE); 
final Image image = new Image(display, "C:/sample_image.png"); 

// Create a paint handler for the canvas  
canvas.addPaintListener(new PaintListener() { 
    public void paintControl(PaintEvent e) { 
    e.gc.drawImage(image, 0, 0);   
    } 
}); 

this link देखें SWT छवियों पर अधिक जानकारी के लिए।

संबंधित मुद्दे