Pessoal td bem, eu gostaria de saber altero o tamanho de uma JTextField, eu tentei fazer mais o que acontece é q ele atribui o msmo tamanho a todos os outros componentes da JFrame, alguem sabe como fazer.
Bom. Estou numa fase inicial no Java, porém tentarei ajudar.
Eu testei de um jeito aqui e deu certo:
seuJTextField.setSize(valorWidth, valorHeight);
Agora altere o nome do seu topico com [Resolvido] na frente para ajudar outros que tiverem a mesma duvida.
Cara aqui não, está acontecendo a msma coisa, ou melhor não altera o tamanho de nada, vou postar um pedaço do codigo para veres:
public void constrform()
{
painellabeltext = new JPanel();
painellabeltext.setLayout(new GridLayout(6,2));
lblcodcliente = new JLabel("Codigo do Cliente", lblcodcliente.RIGHT);
lblnome = new JLabel("Nome", lblnome.RIGHT);
lblbairro = new JLabel("Bairro", lblbairro.RIGHT);
lbllocalidade = new JLabel("Localidade", lbllocalidade.RIGHT);
lbldata = new JLabel("Data", lbldata.RIGHT );
lblvalor = new JLabel("Valor", lblvalor.RIGHT);
txtcodcliente = new JTextField();
txtcodcliente.setSize(2,2);//Alteração do tamanho da JTextField.
//txtcodcliente.getText();
txtnome = new JTextField();
//txtnome.geText();
//if (txtnome.getString().trim().length())
//JOptionPane.showMessageDialog(null,"Por favor informe o seu nome");
txtbairro = new JTextField();
//txtbairro.geText();
localidade = new JComboBox(localidades);
//localidade.geText();
txtdata = new JTextField(new Date().toString());//Adiciona data a JTextField
txtdata.setEnabled(false);
//txtdata.geText();
txtvalor = new JTextField();
//txtvalor.setSize(8,8);
txtvalor.setDocument(new validacarecteres());
//txtvalor.geText();
cadastrar = new JButton("Cadastrar");
cadastrar.addActionListener(this);
cancelar = new JButton("Cancelar");
cancelar.addActionListener(this);
painellabeltext.add(lblcodcliente);
painellabeltext.add(txtcodcliente);
painellabeltext.add(lblnome);
painellabeltext.add(txtnome);
painellabeltext.add(lblbairro);
painellabeltext.add(txtbairro);
painellabeltext.add(lbllocalidade);
painellabeltext.add(localidade);
painellabeltext.add(lbldata);
painellabeltext.add(txtdata);
painellabeltext.add(lblvalor);
painellabeltext.add(txtvalor);
painelbotoes = new JPanel();
painelbotoes.add(cadastrar);
painelbotoes.add(cancelar);
getContentPane().add(painellabeltext,BorderLayout.CENTER);
getContentPane().add(painelbotoes, BorderLayout.SOUTH);
}
Você deve aprender a usar os layout managers:
http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html
O GridLayout, que vc colocou ali, é um deles. Mas, sem entender como todos funcionam, fica difícil montar uma aplicação Swing.
Outra opção, que desaconselho totalmente, é usar o null layout. Isso permite que você dimensione os componentes à mão, mas não tornará seu JFrame nem redimensionável, nem portável.
Acho que agora com está dica do godoy já da para colocar o topico como resolvido!
To tendo um problema parecido.
Tenho que colocar o JTextField onde o usuário clicar, então to usando o setBounds. Só que usando o setBounds preciso especificar também o tamanho do JTextField, e quero que ele seja do tamanho da String que o JTextField vai conter (que ja vai estar definida)
Tem como especificar só o X e o Y? Não consegui entender muito bem como funciona o setLocation, mas não resolveu o problema.
Ou então, como posso calcular o tamanho ideal para o JTextField, sabendo a fonte, e o lenght da String (que não é monospaced).
Vi que a classe Font tem um getStringBounds, mas daí ja precisa de um FontRenderContext, e me complicou
Valeu
[quote=brnunes_]To tendo um problema parecido.
Tenho que colocar o JTextField onde o usuário clicar, então to usando o setBounds. Só que usando o setBounds preciso especificar também o tamanho do JTextField, e quero que ele seja do tamanho da String que o JTextField vai conter (que ja vai estar definida)
Tem como especificar só o X e o Y? Não consegui entender muito bem como funciona o setLocation, mas não resolveu o problema.
Ou então, como posso calcular o tamanho ideal para o JTextField, sabendo a fonte, e o lenght da String (que não é monospaced).
Vi que a classe Font tem um getStringBounds, mas daí ja precisa de um FontRenderContext, e me complicou
Valeu[/quote]
Bom, resolvi usando o próprio setBounds. Colocando isto no width
Se alguém tiver o mesmo problema…