Я пытаюсь использовать Canvas для отображения анимированного GIF.У меня работает анимация, но холст слишком мал, чтобы увидеть все изображение, и я не могу заставить его изменить размер.
Я даже не могу получить правильный размер для первого кадра, поэтомукод анимации / потоков не указывается.Мой код выглядит так:
Composite comp = new Composite(parent, SWT.None);
comp.setLayout(new GridLayout(1, false));
final ImageLoader loader = new ImageLoader();
loader.load(getClass().getClassLoader().getResourceAsStream("MYFILE.gif"));
final Canvas canvas = new Canvas(comp, SWT.None);
final Image image = new Image(Display.getCurrent(), loader.data[0]);
canvas.addPaintListener(new PaintListener() {
public void paintControl(PaintEvent e) {
e.gc.drawImage(image, 0, 0);
}
});
Область холста в итоге становится крошечной рамкой размером около 30x30, независимо от того, насколько велик MYFILE.gif.Что за черт?
Все, что я пытаюсь использовать для установки размера холста (setSize, setBounds и т. Д.), Ничего не делает.