Gerar componente Swing

21 respostas
platnum

Queria saber se tem jeito de o propio progama gerar um componente awt por exemplo um JPanel ,JLabel,JTextField e etc.se puder postar um exemplo aq.

21 Respostas

platnum

Up¹

ViniGodoy

O que você quer dizer com “gerar um componente”?

Sempre que for “upar” um tópico, considere fortemente a possibilidade de explicar melhor sua dúvida.

platnum

eu tenho um erp, e quero q ele la na tabela apartamentos e puche o estado de cada apartamento e crie uma certa quantidade de fFrames de acordo com a quantidade de apartamentos.mas oq quero q alguem me ajude na cricao de componentes swing.

ViniGodoy

Mas isso é o básico, do básico de Swing. Você já criou alguma tela alguma vez na vida sem usar uma IDE como o Netbeans?

platnum

Sim,a pergunta e a seguinte e q o progama sozim ele incrementa jframes com labels com dados do banco intendeu?
assim ja tentei usar o for esse jeito

public void cria_(){
    Integer num=5;
    for(int e=0;e!=num;e++){
        bt_novo = new javax.swing.JButton();
    }
}

so q o problema e o nome da variavel,naum sei como set um nome para variavel automaticamente so manualmente.

Anime

Oi,

Vc quer criar os componentes Swing sem um IDE,na mão…?

platnum

Cara seis naum taum entendendo.
E o seguinte por exemplo eu quero fazer uma pesquiza numa table do banco chamada ‘Apartamentos’ ai o progama vai ver a quantidade de apartamentos e vai cria jframes com jlabels contendo os dados dos apartamentos.

Anime

platnum:
Cara seis naum taum entendendo.
E o seguinte por exemplo eu quero fazer uma pesquiza numa table do banco chamada ‘Apartamentos’ ai o progama vai ver a quantidade de apartamentos e vai cria jframes com jlabels contendo os dados dos apartamentos.

E por que não usa um JTable…acho que é mais facil…

Disfarça, a pesquisa vai ser no JTable?

L

Anime:
platnum:
Cara seis naum taum entendendo.
E o seguinte por exemplo eu quero fazer uma pesquiza numa table do banco chamada ‘Apartamentos’ ai o progama vai ver a quantidade de apartamentos e vai cria jframes com jlabels contendo os dados dos apartamentos.

E por que não usa um JTable…acho que é mais facil…

Disfarça, a pesquisa vai ser no JTable?

bem mais facil e de boa compreensão!

platnum

na minha jtable da muito problema os dados sai tudo dezorganizado,e se fosse usar jtable tinha q acrescentar imagens e talz.
fika desorganuzado por que eu puxo os dados indiretamente de uma database remota de meu servidor.

ViniGodoy

Sim, foi exatamente o que entendi.

Por isso perguntei se alguma vez na vida você já criou alguma tela do Swing via código, na mão.
Por que isso é um conhecimento extremamente básico de Swing.

Se você nunca fez isso, comece estudando como o Swing funciona:
http://download.oracle.com/javase/tutorial/uiswing/components/index.html

ViniGodoy

platnum:
na minha jtable da muito problema os dados sai tudo dezorganizado,e se fosse usar jtable tinha q acrescentar imagens e talz.
fika desorganuzado por que eu puxo os dados indiretamente de uma database remota de meu servidor.

Nossa… se você programa como escreve, deve ficar uma bagunça mesmo.

Anime

platnum:
na minha jtable da muito problema os dados sai tudo dezorganizado,e se fosse usar jtable tinha q acrescentar imagens e talz.
fika desorganuzado por que eu puxo os dados indiretamente de uma database remota de meu servidor.

Então vc poderia deixar o Frame pronto,mas visible(false) e depois da pesquisa deixar( true) e mandar o resultado da pesquisa pra ele…espero que entenda…

L

ViniGodoy:
platnum:
na minha jtable da muito problema os dados sai tudo dezorganizado,e se fosse usar jtable tinha q acrescentar imagens e talz.
fika desorganuzado por que eu puxo os dados indiretamente de uma database remota de meu servidor.

Nossa… se você programa como escreve, deve ficar uma bagunça mesmo.

ri…ortografia fatal !!!

A ortografia é a parte da língua responsável pela grafia correta das palavras

platnum

Anime entendi oq vc falo usando o setVisible,so q eu quero q o progama acrecente sozinho uma quantidade X de frames.

lokit"s:
ViniGodoy:
platnum:
na minha jtable da muito problema os dados sai tudo dezorganizado,e se fosse usar jtable tinha q acrescentar imagens e talz.
fika desorganuzado por que eu puxo os dados indiretamente de uma database remota de meu servidor.

Nossa… se você programa como escreve, deve ficar uma bagunça mesmo.

ri…ortografia fatal !!!

A ortografia é a parte da língua responsável pela grafia correta das palavras


Naum pedi pra ninguem a me ensinar a escrever ,so ajuda na duvida q estou tendo.

Anime

Entendi vc…acho que vai ter que desenvolver um código bem legal pra isso… :wink:

Se for como estou pensando,tera que criar o frame na mão mesmo,da uma olhadinha nessa apostila.Se for esse o caso…

http://acervobrasil.blogspot.com/2008/10/apostila-java-2-com-banco-de-dados.html

Marky.Vasconcelos

Eu uso um esquema que da pra voce usar no seu caso.

Ter uma classe tipo ApartamentoInfo extends JPanel, nesse JPanel voce exibe todas infos que voce quer de um apartamento(Deixar passar apartamento a ser exibido por parametro).

Depois na sua tela voce instancia varios desses JPanels coloca na tela e manda um apartamento em cada um.

Mas uma JTable realmente resolve o problema.

platnum

Marky.Vasconcelos:
Eu uso um esquema que da pra voce usar no seu caso.

Ter uma classe tipo ApartamentoInfo extends JPanel, nesse JPanel voce exibe todas infos que voce quer de um apartamento(Deixar passar apartamento a ser exibido por parametro).

Depois na sua tela voce instancia varios desses JPanels coloca na tela e manda um apartamento em cada um.

Mas uma JTable realmente resolve o problema.


Meu servidor remoto nao aceita acesso direto.Para puxar e enviar dados eu utilizo jsp e tenho um metodo q captura todo dado dentro de um out.println.
e ja quebrei muito a cabeca e naum resolveu pois os dados vao para a jtable todos baguncados.so funfa nas combobox e textfield.
por isso queria usar uma jframe.apesar de usar uma jframe sera muito trabalhoso e grande o codigo eu terei total controle sobre ela.

Marky.Vasconcelos

Voce leu a parte que falei sobre o JPanel?

O problema de JFrames é que voce tera N frames abertas, enquanto se com os Jpanels voce pode colocar em um JScrollPane e manter tudo na mesma janela.

E nao importa como os dados vem do servidor, voce consegue transformar o que recebe em um objeto do tipo Apartamento?

platnum

Da uma olhada q vc vai entender melhor pq acorre isso ou pode ate solucionar meu problema com jtable.

AQ ESTA A JSP Q ULTILIZADO PARA BUSCAR OS DADOS NA TABLE APARTAMENTOS

<%@page import="classes.conexao"%>
<%@page import="java.sql.SQLException"%>

<%

   try{

        String id = request.getParameter("id");



    conexao connex = new conexao();
    connex.conecta();
String sql="Select * from APARTAMENTO where CODAPARTAMENTO="+id;



if(id==null){
sql="Select * from APARTAMENTO";
 connex.executeSQL(sql);
       while(connex.resultset.next()){
out.println(connex.resultset.getString("CODAPARTAMENTO"));
out.println(connex.resultset.getString("APARTAMENTO"));
out.println(connex.resultset.getString("CATEGORIA"));
}

}else{
           connex.executeSQL(sql);
           connex.resultset.first();
out.println(connex.resultset.getString("CODAPARTAMENTO"));
out.println(connex.resultset.getString("APARTAMENTO"));
out.println(connex.resultset.getString("CATEGORIA"));

}

//------------------------------------------------------------------ //

  }catch(Exception err){

  }

%>

AQ E A CLASSE JAVA Q PUXA OS DADOS DA JSP

public void execute_table(String link)
    {

  valor.removeAllElements();  //Connection connection = null;
         sb = new StringBuffer();
        InputStream is = null;
      //  Cont += 1;
        try
        {
            URL url = new URL(link);
        is = url.openStream();//executa a pagina como se à abrise-mos
           int ch;
           while ((ch = is.read()) != -1)
           {
               if((ch != (byte)'\n'))//s? entra os caracteres diferentes de "-" e "\n"
                        {
                             sb.append((char) ch);//concatenamos os caracteres
                        }
                        else
                        {

                                valor.add(sb.toString());

                             sb.setLength(0);//limpamos

                        }
               //if()
              //stringBuffer.append((char) ch);
           }separa();

         //  nome=stringBuffer.toString();

        }
        catch(Exception d){}

    }

public void separa(){
     int Nlinhas = (valor.size());
    DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel();
         modelo.setNumRows(0);
        //Enquanto int e naum for maior a nlinhas ele vai jogando dados para a jtable

        for(int e = 4;e<=Nlinhas; e=e+1)
        {



                modelo.addRow(new Object[]{valor.get(e+2).trim(),valor.get(e).trim(),valor.get(e+1).trim()});




       

 System.out.println(valor.get(e).trim());
}

}

AQ E DEPOIS Q EXECUTO

Marky.Vasconcelos

valor.get(e).trim(),valor.get(e).trim(),valor.get(e).trim()

Voce não acha que isso, independente do caso não colocaria 3 vezes o mesmo valor?

E outra, NÃO use DefaultTableModel.

Criado 18 de setembro de 2010
Ultima resposta 20 de set. de 2010
Respostas 21
Participantes 5