fileChooser  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Dota
JavaBaby

Membro desde: 28/08/2010 23:49:56
Mensagens: 97
Offline

Quando eu faço



esse "this" passado no parametro representa meu proprio fileChooser né?
ricardosoares
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 09:49:13
Mensagens: 318
Localização: São Paulo, SP, Brasil
Offline

showOpenDialog

public int showOpenDialog(Component parent)
throws HeadlessException
Pops up an "Open File" file chooser dialog. Note that the text that appears in the approve button is determined by the L&F.
Parameters:
parent - the parent component of the dialog, can be null; see showDialog for details
o componente pai do diálogo, pode ser nulo
a janela do fileChooser ficará "atrelada" à janela pai.

http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFileChooser.html#showOpenDialog(java.awt.Component)

Ricardo Soares
wagner1308
Debugger

Membro desde: 22/10/2007 17:42:23
Mensagens: 61
Offline

Isso mesmo!

Esse é um exemplo de código que eu usei para fazer um botão que abra o selecionador de arquivos.
Depois que eu escolho o arquivo eu passo o caminho absoluto para um metodo que irá ler esse arquivo.



Espero ter ajudado!
Dota
JavaBaby

Membro desde: 28/08/2010 23:49:56
Mensagens: 97
Offline

wagner1308 wrote:Isso mesmo!

Esse é um exemplo de código que eu usei para fazer um botão que abra o selecionador de arquivos.
Depois que eu escolho o arquivo eu passo o caminho absoluto para um metodo que irá ler esse arquivo.



Espero ter ajudado!


Então é isso mesmo né "this" no parametro é meu proprio objeto fileChooser =D. Pois ele esta chamando o método showOpenDialog();
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Não!! Não é isso não!!!

this representa a Janela (JFrame, JDialog ou JInternalPane) que está pedindo para o JFileChooser abrir.
O FileChooser então se posiciona em relação a essa janela.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Dota
JavaBaby

Membro desde: 28/08/2010 23:49:56
Mensagens: 97
Offline

ViniGodoy wrote:Não!! Não é isso não!!!

this representa a Janela (JFrame, JDialog ou JInternalPane) que está pedindo para o JFileChooser abrir.
O FileChooser então se posiciona em relação a essa janela.


Grande ViniGodoy, eu devo ter confundido pois provavelmente esta linha de codigo: int returnVal = fileChooser.showOpenDialog(this);
estaria sendo chamada através de um evento de um JButton. Se este button estiver na minha classe que por sua vez é um JFrame, eu poderia fazer MeuJFrame.this.

Confundi pelo fato do fileChooser estar chamando o método showOpenDialog() e passando o "this", mas somente dentro da execuçao do metodo showOpenDialog() que o "this" representaria meu fileChooser.

Seria isso mesmo ViniGodoy?

Obrigado.
ricardosoares
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 09:49:13
Mensagens: 318
Localização: São Paulo, SP, Brasil
Offline

neste exemplo:

this representa o objeto instanciado da classe SimpleFileChooser
ou seja, do JFrame que exibirá o Diálogo

Ricardo Soares
Dota
JavaBaby

Membro desde: 28/08/2010 23:49:56
Mensagens: 97
Offline

Mas neste exemplo que vc passa nao funciona somente "this", pq ele esta dentro de uma classe anonima, teria que ser feito SimpleFileChooser.this, pra funcionar.
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Não, o showOpenDialog é um método que, no primeiro parâmetro, exige a janela que vai abrir o JFileChooser.
No caso, o seu JFrame ou JDialog.

O this ali, nunca representa o JFileChooser, e sim, a classe que está abrindo o seu FileChooser. Por isso, se o código estiver dentro de um botão, você precisa fazer:
SeuFrame.this

Se o código for só um método dentro do seu JFrame, basta chamar this.


Mas ele jamais representa o próprio FileChooser.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Dota
JavaBaby

Membro desde: 28/08/2010 23:49:56
Mensagens: 97
Offline

Sim, eu entend. O codigo que o ricardo passou logo acima nao compila, pois somente eles esta usando so o this, e nao NomeDaClasse.this.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team