JFrame, JLabel, JComboBox, JTextField genericos

6 respostas
Malister

Ola, gostaria de saber se haveria a possibilidade de criar todos esses componentes genéricos?

se sim poderiam me aprontar algum tutorial para o mesmo?

6 Respostas

M

Estude bastante, um ótimo material que abrange boa parte da Linguagem é a Universidade XTI.

Malister

Michael Kuhl Muito obrigado pelo material, irei começar meus estudos agora mesmo!

wagnerfrancisco

Não entendi o que você quer dizer com: “criar todos esses componentes genéricos”. Pode explicar melhor?

Malister

Em vez de Criar toda vez um JFrame, e assim por diante, ter um JFrame no qual eu tenha varias configurações comuns para usar em novos JFrames, assim como para os outros componentes.

M

Não sou muito experiente em swing, mas não teria como você apenas chamar cada componente do JFrame principal para o novo JFrame?

discorpio

Bom dia a todos.

O que você pode fazer é criar um JFrame genérico com todos os componentes em suas posições já previamente definidas, bem como as dimensões desse JFrame também definidas, e não criar os componentes genéricos,

Depois é só criar métodos dentro deste JFrame que vá popular os componentes.

Além disso, se não me falhe a memória, a Classe JFrame possui na sua linha hierárquica de descendências de Classes, a Classe Container, e esta última dispõe de métodos que utiliza um recurso OO, que são os métodos getComponents(), getComponentCount(), getComponent(int x), getComponentAt(int x, int y), getComponentAt(Point p) , findComponentAt(int x, int y), findComponentAt(Point p). Isto significa dizer que você pode identificar todos os components de um JFrame sem precisar engessar os componentes em um JFrame genérico, bastando tão somente criar um método utilizando os métodos acima, necessitando apenas de fazer o casting. Exemplo de como limpar todos os componentes de um JFrame genérico:

public void clearComponents() {
          for (int c = 0; c < getComponentCount(); c++) {
                if (getComponent(c) instanceof JTextField) {
                    JTextField txt = (JTextField) getComponent(c);
                    txt.setText("");
                } else if (..........) {
                    .........
                }
                // E por ai vai
   }

Se estou bem lembrado, esta é a hierarquia da classe JFrame:

java.lang.object
     java.awt.Component
        java.awt.Container
           Java.awt.Window
              java.awt.Frame
                 java.swing.JFrame

Espero ter ajudado.

Criado 4 de agosto de 2012
Ultima resposta 5 de ago. de 2012
Respostas 6
Participantes 4