Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > SWT. Не отображается графика из другого класса


Автор: Adrenal1ne 31.7.2013, 16:36
Здравствуйте!
Создал 2 простых класса. Хочу чтобы в окне рисовалось 9 прямоугольников. Это я пытаюсь сделать с помощью цикла. но при запуске появляется пустое окно. Подскажите пожалуйста как это сделать правильно.

Первый класс(с main)

Код

import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class mainField {

    //    static Composite myPanel;
    static Display display = new Display();
    static Shell shell = new Shell(display);

    public static void main(String[] args) {

        Shell shell = new Shell(display);
        shell.setSize(400,400);
        shell.setText("Test");

        for(int i =0; i < 9; i++) {
            new SWTCell();
        }

        shell.open();
        shell.pack();

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


второй класс

Код

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Canvas;

public class SWTCell {

    public SWTCell() {

        GridLayout gridLayout = new GridLayout();
        gridLayout.numColumns = 3;
        mainField.shell.setLayout(gridLayout);

        Canvas canvas = new Canvas(mainField.shell, SWT.BORDER);
        canvas.setLayoutData(new GridData(100, 100));
    }

}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)