有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JComponent与JButton一起使用

我在一起使用JComponent和JButton时遇到问题

public class GameWindow extends javax.swing.JFrame{
    private javax.swing.JLabel freeCardLabel;
    private javax.swing.JPanel NewGameBody2;
    private Game game;

    public GameWindow (int rozmer, int numberOfPlayers, int numberOfTreasures){       
        /*create a mazeboard*/
        game = new Game();
        game.newGame(rozmer, numberOfPlayers, numberOfTreasures);



        /* the graphic rendering */
        JFrame gameWindow = new JFrame();
        gameWindow.setSize(1000, 730);


        /* create panel for button*/
        JPanel buttonPanel = new JPanel();
        /* create button */
        JButton button = new JButton("OK");   
        //button.setBorder(BorderFactory.createEmptyBorder());
        //button.setContentAreaFilled(false);
        button.setPreferredSize(new Dimension(40,40));
        buttonPanel.add(button);
        buttonPanel.setMinimumSize(new java.awt.Dimension(150, 700));
        gameWindow.setContentPane(buttonPanel);


        GameComponent GC = new GameComponent(rozmer, game);
        gameWindow.add(GC);


        gameWindow.setTitle("Labyrinth - The Game");
        gameWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        gameWindow.setVisible(true);
        gameWindow.setResizable(false);
        gameWindow.getContentPane().setBackground(Color.gray);


    }

这是我的游戏窗口课程。我想要这样的东西:

my game

而GameComponent GC=新的GameComponent(rozmer,game);我会画出迷宫。当代码张贴在按钮上方时,按钮将仅在没有迷宫的情况下显示

GameComponent仅使用:

@Override
    public void paintComponent(Graphics g){
        image = null;
        offset = calculateOffset(rozmer);
        super.paintComponent(g);


        /* draw the whole field */
        for (int i = 0; i < rozmer; i++){
            for (int j = 0; j < rozmer; j++){                
                selectImage(i, j);
                g.drawImage(image, offset+150+j*63+j*1, offset+63*i+i*1, this);
            }
        }
        /* draw free card */
        selectImage(-2, -2);
        g.drawImage(image, offset+270+(rozmer-1)*63, offset+63*(rozmer-1)-50, this);
    }
}

并扩展了JComponent类

我想有两个按钮和我的标签在一个窗口。有人能帮我吗?非常感谢你

< >编辑:在GAMECOMPRESIZE()中重写GePayRestsie()之后,它同时绘制这两个步骤,即使迷宫被切断并且按钮在中间的右边:(


共 (0) 个答案