「已注销」 2014-10-04 10:35 采纳率: 0%
浏览 2818

在frame中添加两个panel后影响到第一个panel的事件监听

自己写的一个贪食蛇游戏,游戏已经用gamePanel 实现 按键事件 监听器 正常运行,但是在frame上添加optionalPanel后 有不能操控贪食蛇了!!!求解

public static void main(String args[])
{
Snake snake=new Snake();
Food food=new Food();
Ground ground=new Ground();

    GamePanel gamePanel=new GamePanel();

    Controller con=new Controller(snake, food, ground, gamePanel);


    JFrame frame=new JFrame();
    OptionalPanel pp=new OptionalPanel();
    frame.setLayout(new GridLayout(1, 2));
    frame.add(gamePanel);
      ***frame.add(pp);//添加这个后可以正常显示 但不可以操控了!!!!!!!!!***  


    gamePanel.addKeyListener(con);
    frame.addKeyListener(con);
    snake.addListener(con);

    //frame.setSize(gamePanel.getSize().width+25, gamePanel.getSize().height+35);
    gamePanel.setSize(Global.WIDTH*Global.CELL_SIZE,Global.HEIGHT*Global.CELL_SIZE);
    frame.setSize(Global.WIDTH*Global.CELL_SIZE*2,Global.HEIGHT*Global.CELL_SIZE+35);

    frame.setVisible(true);

    frame.setLocationRelativeTo(null);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    con.newGame();

}

public class OptionalPanel extends JPanel{

/**
 * 
 */
private static final long serialVersionUID = 1L;
JButton b1=new JButton();
JButton b2=new JButton();
JButton b3=new JButton();

JPanel p=new JPanel();

public OptionalPanel() {
    // TODO Auto-generated constructor stub
    p.add(b1);
    p.add(b2);
    p.add(b3);

    add(p);
}

}

  • 写回答

1条回答 默认 最新

  • qq_30411631 2016-01-28 07:30
    关注

    我也有同样的问题,想知道你的问题解决了吗?求指导!

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制