为什么我的按钮在我的JFrame中不可见?

时间:2012-04-07 20:21:02

标签: java swing eclipse-plugin fullscreen

我正在使用以下代码从我的Eclipse插件创建一个全屏JFrame。显示了JFrame,但我看不到我的按钮。我不知道为什么不:

public class MainFrame extends JFrame {

    private static final long serialVersionUID = 1L;

    public MainFrame() {
        super();

        createComponents();
        setFullScreen();

        this.setVisible(true);
    }

    private void createComponents() {
        System.out.println("Create components");
        JButton exit = new JButton("Exit");

        exit.setVisible(true);
        exit.setBackground(Color.YELLOW);
        exit.setSize(new Dimension(500, 500));
        exit.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent arg0) {
                System.out.println("Exit by button");
                System.exit(0);
            }
        });

        this.setBackground(Color.RED);


        this.getContentPane().setLayout(new BorderLayout());
        this.getContentPane().add(exit, BorderLayout.CENTER);
    }

    private void setFullScreen() {

        this.setResizable(false);
        this.setUndecorated(true);
        this.setAlwaysOnTop(true);

        GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
        GraphicsDevice[] devices = env.getScreenDevices();

        devices[0].setFullScreenWindow(this);
    }

}

1 个答案:

答案 0 :(得分:3)

作为参考,FullScreenTest是一个有效的例子。

附录:因为Eclipse插件必须使用SWT,所以您可以尝试Full Screen your RCP Applications中显示的方法。还提到了运行最大化的替代方案。