• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

hardware

GUI + Eventos

2 mensagens neste tópico

Boas tardes pessoal.

Estou a desenvolver um mini-excel para o meu trabalho final de Programação Orientada a Objectos e tenho umas duvidas que me tão a atrofiar um bocado.

O excel é composto por objectos Celulas que extendem de JTextFields, agrupadas num array bidimensional de Celulas (27 colunas e 31 linhas) que por sua vez esta inserido num JPanel, adicionado à JFrame.

As minhas duvidas são as seguintes:

- Como posso fazer com que, com o arrastar do rato numa celula, ela aumente/diminua de tamanho? Eu sei que tenho que associar um mouseListener a cada celula mas, não faço a minima ideia como jogar com o tamanho..

private class mouseListener implements MouseListener {

public void mouseClicked(MouseEvent e){}

public void mouseExited(MouseEvent e) { }

    public void mouseEntered(MouseEvent e) { }

   

    public void mouseReleased(MouseEvent e) { }

   

    public void mousePressed(MouseEvent e) { }

}

Neste caso, teria de trabalhar com o pressed e com o released.

- A outra duvida que surge é, como declaro um Listener para o teclado? Eu queria inserir os valores e, o tamanho da celula se fosse reajustando ao texto que ia sendo inserido e, quando fosse premido a tecla Enter, ele passasse para a celula abaixo.

Podem-me dar umas luzes? Cumps  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Eu queria inserir os valores e, o tamanho da celula se fosse reajustando ao texto que ia sendo inserido e, quando fosse premido a tecla Enter, ele passasse para a celula abaixo.

Podes adicionar um keyListener ao componente, e o reajuste do tamanho pode ser calculado pelo numero de caracteres que a string tem vezes o numero de pixeis da fonte (normalmente é 10/12). Claro está que levanta outros issues, tais como fazer o mesmo para todas as linhas da coluna, garantir que só faz essa actualização se o conteudo da Célula seja superior ao maior conteudo da celula da coluna correspondente.

Se calhar podias pensar nos notifiers, que ajudam na implementação.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora