「已注销」 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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况