| Autor |
Mensagem |
|
|
fabiocsi wrote:Ao invés de pensar em "comunicação entre janelas", tente pensar em "comunicação entre objetos"...
Opa, estava aqui pensando.... quando vc diz comunicação entre objetos, existe um tipo de objeto global? que eu possa acessa-lo de onde estiver?
Pq aqui no meu caso, por exemplo, tenho 2 classes, tipo TelaJInternalFrame.java e telaJDialog.java apartir do jinternalframe eu chamo o jdialog, como eu me comunicaria entre os objetos de cada classe? você poderia me dar um exemplo bem simples... nem precisa usar swing... mas só exemplificar essa comunicação!
Vlwz
|
 |
|
|
bom, ao dar um duplo clique eu obtenho os dados da linha do jtable e guardo em 2 variaveis... mas como passar essas duas variaveis devolta para o jinternalframe? sendo que são classes separadas!!!
|
 |
|
|
|
Bom, não ajudou muito... mas vou tentar pensar...
|
 |
|
|
tenho um jinternalframe de cadastro, no qual tem um botão de consulta, que consulta registros cadastrados. quando este botão é clicado ele abre um jdialog o qual exibe um jtable com os registros, qdo eu dou um duplo clique em um registro, eu quero que volte ao jinternalframe e coloque os valores nos seus devidos campos, para uma edição!
capturar o duplo clique e pegar os valores da linha tah tudo certo, o problema tah sendo passar os valores do jdialog pro jinternalframe.
Alguém pode me dar um ajudar??
Obrigado!
|
 |
|
|
|
Bom, alguém poderia me dizer se pelo menos é possivel fazer isso que eu estou querendo? mesmo que não saiba como!!!
|
 |
|
|
Ainda não testei nada do que foi falado aqui, só testarei amanhã, 2ª feira.
Mas estava aqui pensando, se não poderia ser a chamada do método que conecta ao banco que está causando a lentidão. Por que eu faço da seguinte forma:
Ao abrir a tela de consulta, onde o JTable está, no evento WindowOpened ou seja ao abrir a tela eu chamo o método "listacadC" que por sua vez faz as seguintes ações:
Instancia a classe dbUtil db
chama o método db.conectaDB() (o qual se conecta ao banco)
executa o metodo db.consultaDB() (o qual faz a consulta e devolve um resultset)
faço o while que adiciona e preenche as linhas no JTable
depois chamo o metodo db.desconectaDB()
Sera que esses metodos referente ao banco, que estão deixando a montagem do grid lenta?
Como vcs tratam essa parte de banco? Tipo quando se inicia a aplicação já se conecta ao banco, ou faz como eu estou fazendo que só se conecta no momento em que for utilizar??
Existe um padrão pra isso??
|
 |
|
|
Hummm, eu to usando o NetBeans no caso... nem sabia que existia uma ferramente desse tipo... mas vou baixar sim...
Sobre o TableModel... o engraçado, é que essas coisas nenhum livro ensina né... rsrsrs... mas vlw...
T+
ViniGodoy wrote:Se está com problemas de performance, baixe um profiler e use.
O Eclipse tem o projeto TPTP, que deve te ajudar nesse caso. O Netbeans também tem um profiler, que pode ser baixado na próprio site dele.
Se você não usa nenhum IDE desses, pode ainda baixar o EJP no sourceforce.
Com o profiler, você pode medir qual das chamadas de método está demorando e gerando a lentidão. Você precisa então otimizar essa chamada. É muito melhor do que ficar trocando métodos a esmo, complicar o seu código e não obter os resultados desejados.
Só mais uma dica... quando usar JTables, geralmente é mais rápido e mais fácil implementar o seu próprio TableModel, ao invés de ficar usando o Default.
|
 |
|
|
plic_ploc wrote:Não testei aqui mas tente trocar :
por:
também invoque o método listacadC() dentro de uma thread!!!
Blz... vou tentar isso dai sim, pena que só 2ª feira q vai dar... mas vou fazer sim, deps coloco aqui o resultado!
|
 |
|
|
Maurício Linhares wrote:Você já tentou fazer essa consulta sem usar o JTable pra ver quanto tempo demora?
Mas ai como eu iria saber qto tempo está demorando?
Porque pelo menos exibindo o jTable, eu tenho uma idéia.
Mas vou tentar aqui de alguma forma pra ver...!!
|
 |
|
|
tenho este método:
essa tabela tem apenas 11 registros, e o programa está demorando quase 2 segs pra prencher a tabela...
Não sei se estou fazendo as coisas da maneira correta, o código funciona, mas 2 segs pra abrir uma tabelinha com 11 registros, eu achei D+, deveria ser instantâneo, abriu a tela jah deveria vir com a grid montada e preenchida.
Tem algum outro método??
|
 |
|
|
To mandando 2 imagens do sistema aqui da empresa que faz oq eu to dizendo... reparem que a janela em tamanho original, fica com o titulo normal e seus botões de minimizar maximizar e fechar, tudo normal, até aí tudo bem....
Agora vejam que quando ela é maximizada, a barra de titulos some, e os botões de minimizar, maximizar e fechar, passam a fazer parte do MDI e o titulo da barra vai pra cima tb no MDI, e a janela de dentro fica sem barra de títulos...
Num sei se deu pra entender... mas vejam ai!!
|
 |
|
|
lina wrote:Oi,
Você quer que ao minimizar, ela suma do quadro principal (MDI)?
Tchauzin!
Não quero que suma, quero que ela continue lá, quero que a barra de titulos suma, e q o título da barra de titulos passe a integrar o titulo da barra de titulos do MDI.... Que é como eu vejo em aplicações desse tipo!!!
Segue a imagem de como está atualmente!
|
 |
|
|
Tenho um form MDI e um JInternalFrame que abre dentro dele... porém eu reparei que em outras aplicações de outras linguagens, quando eu maximizo a janela de dentro, a barra de títulos some, e o titulo da janela interna, passa a ser tipo concatenado com a da barra de titulo do MDI..!!
No Java ele não faz isso, qdo eu maximizo o JInternalFrame, ele maximiza normal, porém a barra de titulo continua dentro do MDI aparecendo normal, e não some como vi em outras aplicações!!
Não sei se deu pra entender direito!!!
Mas tem como arrumar isso? algum parâmetro ou coisa do tipo?
vlwz
|
 |
|
|
|
Então já vi que é um pouco complicado!
|
 |
|
|
Na verdade são filtros pro usuario... tipo restrições a determinadas operações em determinadas telas
suponhas 2 usuarios
Leonardo e Vera
imagine uma tela de cadastro de clientes
nessa tela o usuario leonardo, pode Incluir, Alterar, Excluir, Listar, Tirar relatorio.
nessa mesma tela o usuario Vera, somente pode Alterar e Tirar Relatorios, não pode excluir nem incluir.
E eh isso que essa ferramenta fazia... vc selecionava o usuario e tinha uma tabela onde vc definia os direitos de cada usuario em cada tela.. como na tabela que fiz lá em cima.
Onde I, A, E, L são respectivamente Incluir, Alterar, Excluir, Listar.....
Não sei se deu pra entender....
O que eu quero mesmo é um controle de usuario... não precisa ser como esse que mostrei, mas que funcione da mesma forma!
|
 |
|
|