Olá pessoal,
estou tentando fazer com q quando o Jtextfield esteja com foco ele selecione o conteudo da Jtextfield, porem inseri esse Jtextfield dentro de uma coluna da minha Jtable, tentei da maneira abaixo porem não da certo quando a Jtextfield esta dentro da Jtable. Alguem poderia me ajudar ou apontar um possivel erro?
Grato.
TableColumn tableValorFabrica = areaEstoque.getColumnModel().getColumn(4);
tableValorFabrica.setCellEditor(new DefaultCellEditor(tfValorFabrica));
tfValorFabrica.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent e) {
super.focusGained( e );
tfValorFabrica.selectAll();
}
});
não entendi muito bem oque tu quer >_>
quando você clickar na TextFild tu quer que selecione tudo e passe o texto contido dela pra uma celular da tua jTable? qual celula?..
Então JoatanGuj ,
é o seguinte, eu tenho uma Jtextfield inserida em uma coluna da minha Jtable, o que eu quero fazer é que quando estiver com o foco ou clicado em uma célula qualquer da minha Jtable, selecione o conteudo da mesma.
Me falaram para fazer com o evento de mouseClicked, eu até consegui pegar a linha e a coluna clicada, porem não consegui devolver a minha Jtextfield para que eu de um selectAll() nela.
Segue o código abaixo para um melhor entendimento:
private void areaEstoqueMouseClicked(java.awt.event.MouseEvent evt) {
TableColumn tableValorFabrica = areaEstoque.getColumnModel().getColumn(4);
tableValorFabrica.setCellEditor(new DefaultCellEditor(tfValorFabrica));
Point click = new Point(evt.getX(), evt.getY());
int column = areaEstoque.columnAtPoint(click);
int row = areaEstoque.rowAtPoint(click);
//não consigo trazer minha jTextfield (tfValorFabrica) p/ dar um selectAll() na mesma, não funcionou da maneira abaixo
String celula = areaEstoque.getModel().getValueAt(row, column).toString();
tfValorFabrica.setText(celula);
tfValorFabrica.selectAll();
}
entendi , basta você armazenar os valores contidos nas células em variaveis e depois setar as variaveis na jTextField supondo que tenhamos isso
1 jTable com o nome = minhaTable(com 3 colunas , a 1°=Nome/ a 2°=Sobrenome/3°= CPF).
3 campos jTextfield = nome,sobrenome e cpf;
ok vamos ao trabalho.
oque você deve fazer é simples segue o codigo com explicações:
String pegarNome = minhaTable.getValueAt(minhaTable.getSelectedRow(), 0);// tem uma virgula 0 porque é a linha selecionada coluna 0.
String pegarSobrenome = minhaTable.getValueAt(minhaTable.getSelectedRow(), 1);// tem uma virgula 1 porque é a linha selecionada coluna 1.
String pegarCPF = minhaTable.getValueAt(minhaTable.getSelectedRow(), 2);// tem uma virgula 2 porque é a linha selecionada coluna 2.
//agora que ja temos os valor vamos "jogar" os valores na jTextField.
nome.setText(pegarNome);
sobrenome.setText(pegarSobrenome);
cpf.setText(pegarCPF);
//pronto ^^
espero que eu tenha ajudado, qualuqer coisa pode perguntar.
Olá JoatanGuj ,
obrigado pela atenção, porem não funciona dessa maneira dentro da jTable, ja tentei fazer assim porem não tive sucesso, segue o código abaixo mais ou menos da maneira como vc explicou.
private void areaEstoqueMouseClicked(java.awt.event.MouseEvent evt) {
TableColumn tableValorFabrica = areaEstoque.getColumnModel().getColumn(4);
//insere a jtextfield tfValorFabrica na coluna 4 da Jtable
tableValorFabrica.setCellEditor(new DefaultCellEditor(tfValorFabrica));
Point click = new Point(evt.getX(), evt.getY());
int column = areaEstoque.columnAtPoint(click);
int row = areaEstoque.rowAtPoint(click);
//pega o valor da celula clicada
String celula = areaEstoque.getModel().getValueAt(row, column).toString();
tfValorFabrica.setText(celula);
tfValorFabrica.selectAll();
}
Funciona cara >.< ja usei tantas vezes… que modelo de jTable ta usando?. mesmo assim funciona sim lol
[quote=wesleypc]Olá JoatanGuj ,
obrigado pela atenção, porem não funciona dessa maneira dentro da jTable, ja tentei fazer assim porem não tive sucesso, segue o código abaixo mais ou menos da maneira como vc explicou.
[code]
private void areaEstoqueMouseClicked(java.awt.event.MouseEvent evt) {
TableColumn tableValorFabrica = areaEstoque.getColumnModel().getColumn(4);
//insere a jtextfield tfValorFabrica na coluna 4 da Jtable
tableValorFabrica.setCellEditor(new DefaultCellEditor(tfValorFabrica));
Point click = new Point(evt.getX(), evt.getY());
int column = areaEstoque.columnAtPoint(click);
int row = areaEstoque.rowAtPoint(click);
//pega o valor da celula clicada
String celula = areaEstoque.getModel().getValueAt(row, column).toString();
tfValorFabrica.setText(celula);
tfValorFabrica.selectAll();
}
[/code][/quote]
não precisa expecificar a coluna do jeito que eu te disse. não tem nada ave com oque eu isse ai LOL. faz do jeito que eu disse que da certo.!
outra coisa use MouseRealeased.
fiz um teste aqui e ele pegou o valor dentro da célula clicada mesmo, porem o selectAll não funciona, ele não seleciona o conteudo dentro da célula, não sei se o JTable redireciona os eventos para os componentes do seu cell editor.
Segue a maneira que fiz:
TableColumn tableValorFabrica = areaEstoque.getColumnModel().getColumn(4);
tableValorFabrica.setCellEditor(new DefaultCellEditor(tfValorFabrica));
Point click = new Point(evt.getX(), evt.getY());
int column = areaEstoque.columnAtPoint(click);
int row = areaEstoque.rowAtPoint(click);
String celula = areaEstoque.getValueAt(areaEstoque.getSelectedRow(), column).toString();
tfValorFabrica.setText(celula);
tfValorFabrica.selectAll();
[quote=wesleypc]fiz um teste aqui e ele pegou o valor dentro da célula clicada mesmo, porem o selectAll não funciona, ele não seleciona o conteudo dentro da célula, não sei se o JTable redireciona os eventos para os componentes do seu cell editor.
Segue a maneira que fiz:
[code]
TableColumn tableValorFabrica = areaEstoque.getColumnModel().getColumn(4);
tableValorFabrica.setCellEditor(new DefaultCellEditor(tfValorFabrica));
Point click = new Point(evt.getX(), evt.getY());
int column = areaEstoque.columnAtPoint(click);
int row = areaEstoque.rowAtPoint(click);
String celula = areaEstoque.getValueAt(areaEstoque.getSelectedRow(), column).toString();
tfValorFabrica.setText(celula);
tfValorFabrica.selectAll();
[/code][/quote]
você quer pegar o valor de uma celular selecionada em uma jTable e passar pra uma TextField certo? . o jeito que te mandei é exatamente isso.
Na verdade para min pouco importa o valor da celula clicada, o que eu realmente quero é que selecione o que esta dentro da célula clicada entende?
Por exemplo:
Célula na linha 0, na coluna 0, tem o valor 400 dentro dela.
Quando eu clicar na Célula da linha 0, da coluna 0 ele deixe selecionado o 400.
Entendeu?
[quote=wesleypc]Na verdade para min pouco importa o valor da celula clicada, o que eu realmente quero é que selecione o que esta dentro da célula clicada entende?
Por exemplo:
Célula na linha 0, na coluna 0, tem o valor 400 dentro dela.
Quando eu clicar na Célula da linha 0, da coluna 0 ele deixe selecionado o 400.
Entendeu?[/quote]
justamente oque eu te passei ^^.
se quiser usar uma ajuda mais aprofundada posso fazer pra você via team Viewer dai vc me pergunta as duvidas. mais oque eu te mandei aquela hora é exatamente oque você quer:
[code]String pegarNome = minhaTable.getValueAt(minhaTable.getSelectedRow(), 0);// tem uma virgula 0 porque é a linha selecionada coluna 0.
String pegarSobrenome = minhaTable.getValueAt(minhaTable.getSelectedRow(), 1);// tem uma virgula 1 porque é a linha selecionada coluna 1.
String pegarCPF = minhaTable.getValueAt(minhaTable.getSelectedRow(), 2);// tem uma virgula 2 porque é a linha selecionada coluna 2.
//agora que ja temos os valor vamos “jogar” os valores na jTextField.
nome.setText(pegarNome);
sobrenome.setText(pegarSobrenome);
cpf.setText(pegarCPF);
//pronto ^^ [/code]
Blz, vou almoçar aqui agora, e logo que eu voltar eu te do um toque para vc me dar uma ajuda ok?
Grato.
[quote=wesleypc]Blz, vou almoçar aqui agora, e logo que eu voltar eu te do um toque para vc me dar uma ajuda ok?
Grato.[/quote]
ok
Olá JoatanGuj,
voltei, por acaso vc poderia me passar seu msn para nós vermos esse caso?
Vlw
[quote=wesleypc]Olá JoatanGuj,
voltei, por acaso vc poderia me passar seu msn para nós vermos esse caso?
Vlw[/quote]
joatan_neto@hotmail.com
Ta adicionado, aceita lá!
xD
[quote=wesleypc]Ta adicionado, aceita lá!
xD[/quote]
aceitei