Ajuda com JFrame (background)

Então, sou novo no Java (muito), e estou me reunindo com 2 amigos para fazer um joguinho simples, de texto mesmo, aonde o foco principal e a narrativa e as imagens (desenhadas por um dos meus amigos), e que suas escolhas escolhem o rumo da história.
Eu andei procurando como colocar background no JFrame (li algo sobre JPanel mas nunca mexi com isso), e algumas pessoas falaram que para por plano de fundo tem que colocar um icon em um label. Pois bem, gostaria de saber como eu faço para que quando eu clicar em um botão (uma das escolhas), esse label mudar de imagem, correspondente a da escolha feita pelo jogador.
So para reforçar que sou muito novo no Java, e se possivel explicar bem as sugestões, e tambem se tiverem algum outro jeito de colocar background sem ser por um label (contando que ele possa trocar de imagem conforme eu clique no botao).
Obrigado desde já!

Cara tem como sim, posso da umas dicas pelo netbeans que é a IDE q uso

Sobre desenho no JPanel, veja: http://www.pontov.com.br/site/index.php/java/48-java2d/97-pintando-no-java-2d . Há outros artigos nesse mesmo site sobre jogos em Java2D.

Meio difícil explicar muito num post, pois é um assunto extenso, mas dê uma olhada lá. Estude também sobre game loop, e considere não usar componentes visuais (JButton, JLabel) se quiser algo mais dinâmico.

Abraço.

Pode ser, tambem utilizo o netbeans.

Mas como eu faria para a pessoa clicar na escolha que ela fez e uma ação (mudar o label do texto que explica oque esta acontecendo e mudar s imagem) sem um botao?

Você pode usar botões se preferir. Disse para considerar não usar, não que você é obrigado a não usar.

O principal problema é que, se você criar um game loop como sugeri, as ações ativadas por componentes do Swing podem ter comportamento estranho, por conta de problemas de sincronia (o Swing roda numa thread separada, e isso é uma fonte comum de dificuldades nele).

Se seu jogo não tiver nada dinâmico (animações, por exemplo), pode fazer 100% com labels e buttons. Mas a partir do momento que quiser adicionar algum dinamismo, poderá ter dificuldades se dependes só dos componentes Swing.

Se trabalhar só com Java2D, pode desenhar retângulos e textos sobre um JFrame (ou mesmo a imagem de um botão) e usar as coordenadas de clique do mouse para saber se ele foi clicado ou não. Basicamente, você estaria recriando um botão, mas sem todo o peso do Swing por trás.

Abraço.

Ok, vou tentar pesquisar sobre o loop (ja vi loop em algoritimo, nao sei se e a mesma coisa) e ver qual a melhor opcao. Mas a ideia é essa mesmo, so imagem e texto, sem animações.

No meu Jframe eu tenho um fundo que é colocado dentro de um jDesktopPane e é configurado na propriedade border, como você ver na imagem eu selecionei um borda fosca e coloquei um arquivo .jpg, mais o fundo pode ser colocado com codigo também.
codigo abaixo:
DesktopPaneImagem desktopPane = new DesktopPaneImagem(".\\imagem\\fundoazulclaro.jpg");
aí é somente criar a logica dos botões para voce modificar o fundo. Manda teu email que te passo um curso para você aprender java SE.

Valeu cara, vou testar aqui.
Meu email é rafa.cvs1@hotmail.com

Jalisson, só pra saber, qual seria a diferença de um fundo com jlabel e outro fundo com jDesktopPane?

jLabel é uma area de exibição de strings curtas, e o jDesktopPane é um contêiner que cria uma área de trabalho virtual, o certo é você usa o jDesktopPane.