Hmm… Estranha, essa idéia de mostrar o palco e as cadeiras…
Mas vamos lá, vamos ver se eu posso ajudar:
Você sabe que terá, antes de tudo, que criar a classe Cadeira; que terá como atributo, entre outras variáveis, a “boolean vendida”, que será false por default e true quando o usuário a comprasse - endo por objetivo impedir que o usuário compre uma cadeira cuja variável vendida seja true.
Normalmente, eu projetaria uma janela principal do projeto e uma mais simples, voltada exclusivamente para a venda de cadeiras e acessada pelo clique num botão, mas isso quem sabe é você.
Eu colocaria num lado dessa janela de vendas uma JComboBox contendo o número das cadeiras ainda não vendidas. Quando o usário clicasse num ítem da JComboBox a cadeira correspondente seria vendida (talvez passando por um JDialog para confirmação) e o ítem seria removido da JComboBox.
Mas você disse: “onde motrar o palco as cadeiras, o cliente seleciona as cadeiras e compra o ingresso.”. Logo, supõe-se que as cadeiras venham a “aparecer” na janela. Isso é possível. 
Eu faria o seguinte: Nessa janela de vendas eu organizaria o Layout dela através de um BorderLayout, o qual contivesse, no norte, a figura do palco (se é que foi isso que eu entendi bem :? ) ; no centro, um painel cujo LayoutManager é GridLayout. Nesse grid (cujo tamanho você decide) você coloca um botão em cada célula, de modo que cada botão tivesse a figura de uma cadeira e estivesse relacionado a um objeto da classe Cadeira. Você pode fazer isso colocando mais um atributo para a classe Cadeira: um JButton com a figura da tal. Assim, nessa janela, você criaria um array de Cadeira exatamente do tamanho equivalente ao número de células do Layout. Por exemplo:
JPanel painelDasCadeiras=new JPanel() ;
painelDasCadeiras.setLayout(new GridLayout(5,5)) ; //grade de 5x5.
Cadeira bancos[] = new Cadeira[25] ;
for(int i=0;i<bancos.length;i++){
___banco[i]=new Cadeira() ;
// essa linha atrás de banco é só pra dar o espaço.
___painelDasCadeiras.add(banco[i].getButton()) ;
//getButton() é um método que você criaria o qual retornasse o JButton do objeto de Cadeira.
//Ou então você simplesmente faz button[i].<nome do botão> , caso ele seja public ou default.
}
Por fim, no lado Oeste do BorderLayout da janela de vendas eu coocaria um painel sobre os detalhes da venda: quando o usuário clicasse num dos botões citados acima apareceria o preço, número da cadeira (…) e o botão “comprar” - clicando nele a cadeira seria vendida e o botão dela (o botão colocado na grade de 5x5) ficaria inativo. >> botãoDaCadeira.setEditable(false) ;
Se você não entendeu nada, se você quer que eu explique melhor, se eu entendi tudo errado ou se você me acha um doido, me deixe saber:
homemletra@gmail.com
Agora tenho que ir. Espero ter dado uma luz.