1

私のアプリケーションは全画面排他モードです。JPanel mainPanel を LAST_LINE_START にして、左右にパディングを入れたいと思います。しかし、このプログラムを実行すると、画面の中央に mainPanel しか表示されません。他のポジションも試しましたが、どちらもうまくいきませんでした。

private void mainWindow()
    {   
        gls =(JPanel) mainUi.getGlassPane();
        gls.setLayout(new GridBagLayout());

        JPanel mainPanel = new JPanel(new GridLayout(4,1));
        nwGame = new JButton("New Game");
        nwGame.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub
                gls.setVisible(false);
                startGame(0);
                mainUi.repaint();
            }
        });

        ldGame = new JButton("Load Game");
        ldGame.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent ae)
            {

            }
        });

        changeProfile = new JButton("Change Profile");
        changeProfile.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent ae)
            {

            }
        });

        qtGame = new JButton("Quit Game");
        qtGame.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent ae)
            {

            }
        });

        GridBagConstraints gbc = new GridBagConstraints();
        gbc.ipadx = 10;
        gbc.ipady = 10;
        gbc.anchor = GridBagConstraints.LAST_LINE_START;

        mainPanel.add(nwGame);
        mainPanel.add(ldGame);
        mainPanel.add(changeProfile);
        mainPanel.add(qtGame);

        gls.add(mainPanel,gbc);
        gls.setVisible(true);

        mainUi.add(gls);
        if(!mainUi.isVisible())
            mainUi.setVisible(true);

    }       
4

1 に答える 1