Você está na página 1de 6

26/11/2010 Como foco em JTextField dentro de um…

Como foco em JTextField dentro de uma tabela.


Sign In
Top Authors
Terms of Service
Contact Us
Link to Us
Blog
Home

English Language Content

pt.w3support.net/index.php?db=so&id=… 1/6
26/11/2010 Como foco em JTextField dentro de um…

Como foco em JTextField dentro de uma tabela.

Eu estou escrevendo uma pesquisa e substituir a função em uma espécie de programa de planilha. O que eu
quero é que se você procurar por uma seqüência de caracteres, o programa mostra uma tabela com o elemento
que foi encontrado.

Até aí tudo bem, mas eu não consigo o elemento para obter o foco, com o cursor na mesma para que você
possa começar imediatamente a escrever.

Estou usando uma JTable personalizada e também um TableCellEditor personalizado. Os truques a seguir não
parecem funcionar:
(Dentro do TableCellEditor personalizado):
SwingUtilities.invokeLater(new Runnable() {
public void run() {
my_textfield.requestFocus();
}
} );

ou:
my_jtable.editCellAt(0, 3);
my_jtable.requestFocus();

ou
my_jtable.getEditorComponent().requestFocusInWindow();

Estou faltando alguma coisa? Existe uma boa descrição (diagrama de fluxo de Nice) que mostra como os
eventos ocorrem? Ou código de exemplo que poderia fazer algo semelhante?

#: 380482 java swing User: Roalt

Comments for #: 380482


Por agora, eu meio que desistiu de um presente. É provavelmente relacionado a ter vários componentes dentro
de outro (usando internalFrames, e aí um splitframe que contém uma JTree e da tabela).
Se eu tiver tempo, vou tentar iniciar-se com uma tentativa muito limpo e ver onde ele vai
pt.w3support.net/index.php?db=so&id=… 2/6
26/11/2010 Como foco em JTextField dentro de um…
quebrar #:243577 Roalt

Answer: 383072

Com algumas googling eu encontrei um tópico no fórum: programaticamente iniciar a edição de uma célula em
uma JTable respondeu com a seguinte idéia:

(Em uma subclasse de JTable)


editCellAt(row,column);
requestFocus();
DefaultCellEditor ed = (DefaultCellEditor)
getCellEditor(row,column);
ed.shouldSelectCell(new ListSelectionEvent(this,row,row,true));

Será que isso funciona?

#: 383072 java swing User: Touko

Comments for #: 383072


* * Eu acho que a última linha deve ser ... coluna (isso, linha, true));
Não tenho certeza se eu tentasse a seqüência exata como está escrito acima, mas vou dar uma
olhada. #:210639 Roalt
Acho que a (esta, row, row, true) é o correto - o construtor é: ActionEvent (Object source, firstIndex int, int
lastIndex, isAdjusting boolean) - assim que a linha é o único índice a ser selecionado .. #:265070 Touko

Answer: 380577

Você tentou o editcellat sem requestfocus?

Verifique também se você substituir / implemenet para retornar true


/**
* Returns true.
* @param anEvent an event object
* @return true
*/
public boolean shouldSelectCell(EventObject anEvent) {
return true;

pt.w3support.net/index.php?db=so&id=… 3/6
26/11/2010 Como foco em JTextField dentro de um…
}

#: 380577 java swing User: Peter

Comments for #: 380577


Não, isso não funciona. Eu também acrescentou um println na função acima só para ver se ela é chamada. Mas
ele só é chamado se eu fizer a chamada explicitamente:
StructureCellEditor SCE = (StructureCellEditor my_table.getCellEditor) (0, 3);
sce.shouldSelectCell (...);
#:208503 Roalt
Observe que acima da StructureCellEditor é a minha própria TableCellEditor prorrogado #:208513 Roalt

Search
adicionar j textfield +jtable

Site Search

Bookmark

Related Articles
Topic: java
Are there any good Java blogs around?
Dealing with command line arguments and Spring
Correct behavior for interface methods that can't be implemented
Java performance of StringBuilder in a loop
How do I unit test jdbc code in java?
Base64 encoded string search

Topic: swing

Index
Map: db
Map: international
pt.w3support.net/index.php?db=so&id=… 4/6
26/11/2010
Map: international Como foco em JTextField dentro de um…

Map: sitemap

Automagic Translation

0.0285.2.01 Dump from StackOverflow

pt.w3support.net/index.php?db=so&id=… 5/6
26/11/2010 Como foco em JTextField dentro de um…

pt.w3support.net/index.php?db=so&id=… 6/6

Você também pode gostar