2

所以我正在制作一个游戏,我希望在窗口中弹出一个jbutton,当你点击它时你可以登录。问题是当我开始游戏时,它并不总是弹出,这有点烦人。唯一的想法是问题是我做事的顺序。这是代码:

public static void createWindow() {
    ImagePanel panel = new ImagePanel(
            new ImageIcon(backgroundFile).getImage()); //used for the background


    JButton login = new JButton(new AbstractAction("Login") {
        public void actionPerformed(ActionEvent e) {
            Login.createWindow();
        }
    });
    login.setBounds(300, 300, 100, 100);


    frame.getContentPane().add(panel); //sets the background to a pic
    frame.setJMenuBar(MenuBar.menuBarCreator()); creates the menu bar
    frame.pack();
    frame.setResizable(false);
    frame.setTitle("*Game Title* Beta 0.0.1 ADMINISTRATOR VERSION");
    frame.setSize(ImagePanel.img.getWidth(null),
            ImagePanel.img.getHeight(null));
    frame.setLocation(Monitor.setLocationHeight(),
            Monitor.setLocationWidth());
    frame.setVisible(true);
    frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
    StreamingLineSound.start(soundFile); //starts a music file
    frame.add(login);

}

任何帮助都会很棒。所以基本上我想要的只是一个想法,为什么它不会一直弹出。谢谢

4

1 回答 1

3

代码行frame.setVisible(true);必须在 中的最后一行public static void createWindow() {,因为您显示JFrame然后添加frame.add(login);

于 2012-04-29T20:23:50.677 回答