JPasswordField e JTextField com o mesmo tamanho (size)

3 respostas
dm_thiago

Eu estou fazendo uma tela de login para aplicação desktop e na minha tela o JTextField e o JPasswordField ficam com tamanhos diferentes. O JPasswordField fica mais largo. Tentei igualar a largura usando caixaTextoSenha.setPreferredSize(caixaTextoUsuario.getSize()), mas não deu certo. Alguma idéia de como ajustar isso?

3 Respostas

dm_thiago

Parece que ninguem sabe essa =/

jj_df

Cara não tenho certeza se vai ajudar no size mas faz o seguinte:

Cria um objeto do tipo JTextField mas na hora de inicializar joga dentro dele um objeto do tipo JPasswordField…

Algo assim:

Testa aí e vê se resolve seu problema do size…

JamesBond
Container c = this.getContentPane();
        GridBagConstraints cons = new GridBagConstraints();
        GridBagLayout layout = new GridBagLayout();
        c.setLayout(layout);
        ((JComponent) c).setBorder(BorderFactory.createTitledBorder("Tela de Login"));
        
        JButton botao = new JButton("Entrar");
        JLabel labelNome = new JLabel("Usuario: ");
        JLabel labelSenha = new JLabel("Senha: ");
        
        JLabel x = new JLabel("                                                   ");
        JTextFIeld nome = new JTextField(20);
        JPasswordField senha = new JPasswordField(13);
        
        cons.fill = GridBagConstraints.HORIZONTAL;     //Agrupa os componentes horizontalmente
        
        cons.gridy = 0;							// Cordenada Y
        cons.gridx = 0;							// Cordenada X
        c.add(labelNome,cons);					// Adicionando ao container
        cons.gridy = 0;
        cons.gridx = 1;
        cons.gridwidth=2;						// Numero de células sobrepostas
        c.add(nome,cons);
        
        cons.gridy = 1;
        cons.gridx = 0;
        c.add(labelSenha,cons);
        cons.gridy = 1;
        cons.gridx = 1;
        cons.gridwidth=2;
        c.add(senha,cons);
		
        cons.gridy = 2;
        cons.gridx = 1;
        cons.gridwidth=1;
        c.add(x,cons);
        
        cons.gridy = 3;
        cons.gridx = 2;
        cons.gridwidth=1;
        c.add(botao,cons);

ai está :wink:

Criado 25 de abril de 2007
Ultima resposta 12 de mar. de 2008
Respostas 3
Participantes 3