Можно нескольким (попробуй). Имена классов а и b - изврат! Как будто декомпиленный код у тебя. Делать отдельные канвасы для менюшек - тоже изврат!
Можно обойтись одним канвасом, но рисовать разное в зависимости от
состояния.
private static final int STATE_GAME = 1;
private static final int STATE_MENU_MAIN = 2;
....
private static int state = STATE_GAME;
....
//----------------------
//в функции paint()
select(state) {
case STATE_GAME:
drawGame(g);
break;
case STATE_MENU_MAIN:
drawMenuMain(g);
break;
............
}