[resolvido] tornar jtextfield público

11 respostas
o_Wesley_o

Olá,
duvida simples…
tenho uma textfield e quero torná-la publica para usar em outras telas…
como posso fazer isto??
Att, Wesley

11 Respostas

lugaid

me confundi um pouco…
vc tá usando a classe JTextField de javax.swing ou um textfield numa aplicação web?

o_Wesley_o

não não…
Estou fazendo uma aplicação java normal…
E arrastei o textfield para meu form…
E queria saber se tem como tornar este textfield publico, para eu poder acessar em outros forms…
Certo?

leoviniga

Bom…você pode declara-lo na classe

public class Teste { JTextField tf = new JTextFIeld(10); //resto }
e quando for chamalo usar

Teste.tf

Mas pra que você quer isso?

lugaid

bom… vc pode jogar esse JTextField com um índice e jogar numa classe…
algo do tipo…

public class JTextFieldModel {
	private int id;
	private JTextField textField;

	//joga os getters e setters necessários
}

não sei se isso resolveria o seu problema…

o que vc tá tentando fazer? algum cadastro?

o_Wesley_o

Bem o que eu estou fazendo é um cadastro de contas a pagar…
e tem um campo para colocar o fornecedor…
Então pra não ter que digitar o fornecedor o usuário dá um click no botão (…), para procurar os fornecedores…
no botão (…) eu chamo outra tela, que possui uma tabela mostrando os fornecedores…

até ai está tudo certo…
mas o que eu quero é que quando der um click em cima do fornecedor alvo, essa tela com a tabela de fornecedores feche e o fornecedor escolhido fique na minha textfield, que está na minha tela de cadastro…

Então eu pensei em simplesmente dar um setText na minha textfield, colocando o fornecedor…

D

Faça a sua tela modal retornar o valor selecionado. Você pode se basear no JOptionPane para fazer isso. Segue exemplo:

String valorDigitado = JOptionPane.showInputDialog("Meu JOptionPane");
System.out.println(valorDigitado);
o_Wesley_o

Já fiz o teste e está tudo certo…

fornecedor = (String) tabFornecedor.getValueAt(tabFornecedor.getSelectedRow(), tabFornecedor.getSelectedColumn());

JOptionPane.showMessageDialog(null,""+fornecedor);

Ele me retorna o fornecedor que eu clickei…
Mas preciso que o nome deste fornecedor fique na minha textfield, que está em outra tela…

R

eu nao aconselho isso mas vc pode passar o Jtextfield como parâmetro ao abrir a dialog pra escolher seus fornecedores... dae la vc da o settext a vontade pq vai ter a referencia do campo... isso vai resolver seu problema ae mas seu código vai ficar sem zoado...

algo assim:

JDialog MinhaDialog = new JDialog( SeuCampo );
MinhaDialog.setVisible(true);

e na dialog

public class minhaDialog extends JDialog {

     JTextField campo;

     MinhaDialog( JTextField meuCampo ) {
         campo = meuCampo;
          // faz tudo q tem pra fazer e antes de fechar a dialog
         campo.setText( codigoFornecedor );
          // fecha a dialog
      }
}
o_Wesley_o

O NetBeans declara todos os componentes swing como private. Não tem como eu mudar ele para public???

juliocesarss

Tem como fazer no NetBeans sim porém, não sei se você sabe mas isso foge dos padrões da Orientação a Objetos.

Quando eu comecei a mexer eu tbm tive esse problema.

O correto a se fazer é quardar o valor que você quer um objeto de uma classe e passar por parametro para o outro formulário.

Mas caso queira mudar mesmo assim:

Selecione o TextField, vá em ‘Código’ e em ‘Modificadores de variáveis’ coloque public.

o_Wesley_o

Eu tenho que começar a estudar mais e rever meus erros…
mas obrigado, era isso que eu queria…

Criado 17 de janeiro de 2011
Ultima resposta 18 de jan. de 2011
Respostas 11
Participantes 6