Dieguinn 0 Denunciar post Postado Março 27, 2010 Gente estou utilizando o Visual Editor do eclipse, a situação é a seguinte. tenho 2 classes distintas: Grafos.java e a trajetoria.java Na grafos.java tem uma aplicacao JPanel que coloquei um botao BTN, quando clico nesse botao abre uma Dialog com a classe trajetoria. Acontecesse que nessa classe trajetoria eu estou lendo um arquivo e quero que esse Dialog ja abra preenchido, como posso fazer isso ? Qual componente se adequaria melhor, e como fazer ? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Giovanni Ritchie 0 Denunciar post Postado Março 27, 2010 se for desenhar, use JPanel, coloque o JPanel no JDialog que você ta usando, quanto ao arquivo se trata de propriedades,configurações?? da trajetoria??? se for o caso você pode abrir ele no construtor do JPanel q você vai usar p desenhar e depois mandar ver.... []s Compartilhar este post Link para o post Compartilhar em outros sites
Dieguinn 0 Denunciar post Postado Março 27, 2010 se for desenhar, use JPanel, coloque o JPanel no JDialog que você ta usando, quanto ao arquivo se trata de propriedades,configurações?? da trajetoria??? se for o caso você pode abrir ele no construtor do JPanel q você vai usar p desenhar e depois mandar ver.... []s Na verdade nao eh fazer grafico... e sim interface GRAFICA! hehe desculpa... mas a duvida eh a seguinte: Eu so quero exibir um vetor em uma JLista...Dialog... que seja... exibir sem que seja no console quando aperta o botao segue meu codigo Grafos (PRINCIPAL): import javax.swing.SwingUtilities; import java.awt.BorderLayout; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JFrame; import javax.swing.JLabel; import java.awt.Rectangle; import java.util.Vector; import javax.swing.JButton; public class Grafos extends JFrame { private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private JLabel lblTitulo = null; private JButton btnTrajetoria = null; /** * This method initializes btnTrajetoria * * @return javax.swing.JButton */ private JButton getBtnTrajetoria() { if (btnTrajetoria == null) { btnTrajetoria = new JButton("Exibir a trajetoria"); btnTrajetoria.setBounds(new Rectangle(124, 107, 138, 30)); btnTrajetoria.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { //se clicar no botao exibir a trajetória... Trajetoria tr = new Trajetoria(new Grafos()); tr.setVisible(true); //declaracao Vector vetor = new Vector(); tr.lerArquivo("ListaAdjacencia.txt", vetor); } }); } return btnTrajetoria; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SwingUtilities.invokeLater(new Runnable() { public void run() { Grafos thisClass = new Grafos(); thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); thisClass.setVisible(true); } }); } /** * This is the default constructor */ public Grafos() { super(); initialize(); } /** * This method initializes this * * @return void */ private void initialize() { this.setBounds(300, 200, 400, 300); this.setContentPane(getJContentPane()); this.setTitle("Programa desenvolvido para a disciplina de Grafos"); } private JPanel getJContentPane() { if (jContentPane == null) { lblTitulo = new JLabel(); lblTitulo.setBounds(new Rectangle(132, 17, 128, 30)); lblTitulo.setText("Escolha sua opção: "); jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(lblTitulo, null); jContentPane.add(getBtnTrajetoria(), null); } return jContentPane; } } Trajetoria java(ABRE QND APERTA O BOTAO TRAJETORIA) import javax.swing.JPanel; import java.awt.Dialog; import java.awt.Frame; import java.awt.BorderLayout; import java.io.*; import java.util.ArrayList; import java.util.List; import java.util.Vector; import javax.swing.JDialog; import javax.swing.JTextPane; import java.awt.Rectangle; import javax.swing.JList; import javax.swing.JTextField; public class Trajetoria extends JDialog { private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private JList jList = null; public Trajetoria(Frame owner) { super(owner); initialize(); } private void initialize() { this.setBounds(300, 200, 300, 200); this.setContentPane(getJContentPane()); } private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(getJList(), null); } return jContentPane; } private JList getJList() { if (jList == null) { jList = new JList(); jList.setBounds(new Rectangle(18, 16, 255, 139)); } return jList; } public void lerArquivo(String nomeArq, Vector vetor){ try{ BufferedReader in = new BufferedReader (new FileReader(nomeArq)); // Abre arquivo String str; String tmp; // Variavel temporaria 1 String tmp2 = ""; // Variavel temporaria 2 String separador = ","; // Separador de vertices no arquivo String fimLinha = "."; // Indica o fim da linha no arquivo int tam = Integer.parseInt(in.readLine()); //armazenando tamanho que está contido no arquivo (primeira linha) int pos; // posicao vetor int c = 0; // contador int dig; // digitos vetor.add(tam); // Adiciona o tamanho à primeira posição do vetor while (in.ready()){ //percorre o arquivo ate o final List lista = new ArrayList(); // Cria e instancia a lista str = in.readLine(); c++; // incrementa contador if ( c < 10 ){ // se a linha atual é menor que 10 pos = Integer.parseInt(str.charAt(0)+""); // pega so a primeira posição (1 digito) dig = 1; } else{ // se a linha atual é maior que 10 pos = Integer.parseInt(str.charAt(0)+""+str.charAt(1)+""); // pega as duas primeiras posiçoes (2 digitos) dig = 2; } tmp = str.substring(dig+1,str.length()); // pega somente o que está entre o digito de separação até o ultimo digito da linha // percorre a linha for ( int i = 0; i < tmp.length(); i = i + 1 ){ tmp2 = tmp2+""+tmp.charAt(i)+""; // pega o caracter na posiçao 'i' concatenando com o que ja estava na variavel int tam2 = tmp2.length(); // atribui à varialvel tam2 o tamanho da string temporaria2 String last = tmp2.charAt(tam2-1)+""; // Pega a ultima letra da variavel if( last.equals(separador) || last.equals(fimLinha)){ // comparara se a ultima letra é virgula ou ponto tmp2 = tmp2.replace(",",""); // substitui as virgulas por nada tmp2 = tmp2.replace(".",""); // substitui os pontos por nada lista.add(tmp2); // adiciona a variavel para a lista tmp2 = ""; // zera a variavel temporaria } } vetor.add(lista); // Adiciona a lista para o vetor } in.close(); // fecha o arquivo // -------- Percorre o vetor para imprimir os valores da lista for (int j = 1; j < vetor.size(); j = j + 1){ List lista2 = new ArrayList(); lista2.add(vetor.get(j)); //***********TO QUERENDO SABER EH AQUI...COMO EXIBO TUDO EM UMA JLIST..OU DIALOG...QUE SEJA******** System.out.println("Vertice: "+j+" segue para vertices: "+lista2.get(0)); // Imprime lista } } catch (IOException e){ e.printStackTrace(); // lança exceção se der erro } } } obs: na hora de exibir.. da duvida mesmo eu escrevi "//***********TO QUERENDO SABER EH AQUI...COMO EXIBO TUDO EM UMA JLIST..OU DIALOG...QUE SEJA********" no codigo. Se puder me ajudar por favor, ja quebrei d+ a cabeça com isso =/ Muito obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Dieguinn 0 Denunciar post Postado Março 27, 2010 tava pesquisando aki.. parece que com label e melhor ... estou fazendo assim mas esta aparecendo somente o ultimo valor... pq ?? for (int j = 1; j < vetor.size(); j = j + 1){ List lista2 = new ArrayList(); lista2.add(vetor.get(j)); lblMain.setText("Vertice: "+j+" segue para vertices: "+lista2.get(0)); //System.out.println("Vertice: "+j+" segue para vertices: "+lista2.get(0)); // Imprime lista } Compartilhar este post Link para o post Compartilhar em outros sites
Giovanni Ritchie 0 Denunciar post Postado Março 28, 2010 indo direito pra sua dúvida vou botar um exemplo onde você exibe o conteudo de um vetor em uma JList despois de apertar um botão: import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultListModel; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.WindowConstants; public class Janela extends JFrame { private JButton botao; private JList list; public Janela() { setLayout(new FlowLayout()); Container container = getContentPane(); botao = new JButton("Adicionar dados a Lista"); list = new JList(); list.setVisibleRowCount(5); final DefaultListModel model = new DefaultListModel(); list.setModel(model); container.add(botao); container.add(list); botao.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // aqui está o array String palavras[] = { "palavra1", "palavra2", "palavra3", "palavra4" }; for (int i = 0; i < palavras.length; ++i) { model.add(i, palavras[i]); } } }); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setSize(400, 400); setVisible(true); } } Compartilhar este post Link para o post Compartilhar em outros sites