0

1 つのシェル内でさまざまな画面を使用するゲームを作成しており、SWT で複合サブクラスを使用して画面を変更しようとしていますが、コードを実行すると、サブクラスに追加されたウィジェットが表示されません。

コンポジットを呼び出すメインコード -

         Button newGameButton = new Button(startComposite, SWT.PUSH);
    FormData fd_newGameButton = new FormData();
    fd_newGameButton.left = new FormAttachment(0, 296);
    newGameButton.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true));
    newGameButton.setText("New Game");
    newGameButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent event) {
            if (fullScreen == true) {
                startComposite.dispose();
                shell.setFullScreen(true);
            } else {
                startComposite.dispose();
            }

            GameComposite gameComposite = new GameComposite(shell, SWT.NONE);
            gameComposite.setLayout(new GridLayout(1, false));
            gameComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
        }

        public void widgetDefaultSelected(SelectionEvent event) {
            if (fullScreen == true) {
                startComposite.dispose();
                shell.setFullScreen(true);
            } else {
                startComposite.dispose();
            }

            GameComposite gameComposite = new GameComposite(shell, SWT.NONE);
            gameComposite.setLayout(new GridLayout(1, false));
            gameComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

そして、これはサブクラスのコードです -

     public class GameComposite extends Composite {
private Text text;

/**
 * Create the composite.
 * @param parent
 * @param style
 */
public GameComposite(Composite parent, int style) {
    super(parent, style);

    Group gamePanel = new Group(this, SWT.NONE);
    gamePanel.setText("GamePanel1");
    gamePanel.setBounds(518, 10, 196, 502);

    text = new Text(this, SWT.BORDER);
    text.setEditable(false);
    text.setBounds(10, 418, 285, 94);


}

@Override
protected void checkSubclass() {
    // Disable the check that prevents subclassing of SWT components
}

}

4

1 に答える 1