Estou desenvolvendo algumas interfaces em Swing e quando vou executar para verificar o Layout da tela alguns componentes
somem e só aparecem se maximizo ou minimizo a tela, não sei o que está ocorrendo.
Por exemplo tenho nessa interface 2 JTable, quando vou executar para verificar a tela elas somem e só aparece do jeito que
eu citei acima, as vezes quando executo elas aparecem normal sem eu maximizar ou minimizar, ocorre com outros componentes
também não somente com a JTable.
packageview;importjava.awt.event.KeyEvent;importjavax.management.JMException;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.JPanel;importjavax.swing.JTable;importjavax.swing.JToolBar;importjavax.swing.SwingConstants;importjavax.swing.WindowConstants;importjavax.swing.table.DefaultTableCellRenderer;importjavax.swing.table.DefaultTableModel;publicclassAbTratamentoParesextendsJFrame{privateJPanelpainel=newJPanel();privateJMenuBarBarraTratamentoPares;privateJMenuMnTratamentoPares;privateJMenuMnVoltar;privateJMenuItemMiProcessarPares;privateJMenuItemMiExibirListaPares;privateJMenuItemMiAdicionarContagem;privateJMenuItemMiExcluirContagem;privateJToolBarbarBotao2=newJToolBar();privateJButtonbtnProcessarPares=newJButton();privateJButtonbtnExibirListaPares=newJButton();privateJButtonbtnAddContagem=newJButton();privateJButtonbtnExcluirContagem=newJButton();privateJButtonbtnVoltar=newJButton();privateJLabellblTratamentoPares=newJLabel();privateDefaultTableModelmodelo=newDefaultTableModel();privateDefaultTableModelmodelo2=newDefaultTableModel();privateJTableTbtabela=newJTable(modelo);privateJTableTbtabela2=newJTable(modelo2);privateDefaultTableCellRenderercellRender=newDefaultTableCellRenderer();publicAbTratamentoPares(){init();}privatevoidinit(){this.setTitle("Tratamento de Pares");this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);this.setSize(800,500);this.setVisible(true);this.setJMenuBar(getBarraTratamentoPares());this.setResizable(false);setLocationRelativeTo(null);painel.setLayout(null);painel.setSize(800,500);this.add(painel);barBotao2.setBounds(0,0,240,45);barBotao2.setFloatable(false);btnProcessarPares.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/image/BTS_Tratamento_Pares/BT_Processar_Pares.png")));btnExibirListaPares.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/image/BTS_Tratamento_Pares/BT_Exibir_Lista_Pares.png")));btnAddContagem.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/image/BTS_Tratamento_Pares/BT_Adicionar_Contagem.png")));btnExcluirContagem.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/image/BTS_Tratamento_Pares/BT_Excluir_Contagem.png")));btnVoltar.setIcon(newjavax.swing.ImageIcon(getClass().getResource("/image/BTS_Tratamento_Pares/BT_VOLTAR.png")));barBotao2.add(btnProcessarPares);barBotao2.add(btnExibirListaPares);barBotao2.add(btnAddContagem);barBotao2.add(btnExcluirContagem);barBotao2.add(btnVoltar);painel.add(barBotao2);painel.add(lblTratamentoPares);lblTratamentoPares.setText("Tratamento de Pares");lblTratamentoPares.setBounds(10,60,150,20);Stringvalores1;valores1="Cabo Lógico DE|Menor Par|Maior Par";Stringvalores2;painel.add(getTables1(valores1));valores2="Cabo Lógico PARA|Menor Par|Maior Par";painel.add(getTable2(valores2));painel.add(Tbtabela);painel.add(Tbtabela2);}publicJTablegetTables1(Stringvalues){modelo.addColumn("Cabo Lógico DE");modelo.addColumn("Menor Par");modelo.addColumn("Maior Par");/*Divide a string quando estiver com o caracter "|" */String[]aux=values.split("\\|");/*Tamanho e localizacao da Tabela*/Tbtabela.setBounds(10,90,370,200);/*Adciona linhas a tabela*/modelo.addRow(aux);/*Tamanho das celulas*/Tbtabela.getColumnModel().getColumn(0).setPreferredWidth(150);Tbtabela.getColumnModel().getColumn(1).setPreferredWidth(50);Tbtabela.getColumnModel().getColumn(2).setPreferredWidth(50);/*Centralizar conteúdo da célula*/cellRender.setHorizontalAlignment(SwingConstants.CENTER);//cellRender.setFont(cellRender.getFont().deriveFont(Font, BOLD));Tbtabela.getColumnModel().getColumn(0).setCellRenderer(cellRender);Tbtabela.getColumnModel().getColumn(1).setCellRenderer(cellRender);Tbtabela.getColumnModel().getColumn(2).setCellRenderer(cellRender);returnTbtabela;}publicJTablegetTable2(Stringvalue){/*Divide a string quando estiver com o caracter "|" */String[]aux=value.split("\\|");/*Define o numero de colunas que ira ter na Tabela*/modelo2.addColumn("Cabo Lógico PARA");modelo2.addColumn("Menor Par");modelo2.addColumn("Maior Par");/*Tamanho e localizacao da Tabela*/Tbtabela2.setBounds(400,90,370,200);/*Adiciona linhas a tabela */modelo2.addRow(aux);/*Tamanho das celulas*/Tbtabela2.getColumnModel().getColumn(0).setPreferredWidth(150);Tbtabela2.getColumnModel().getColumn(1).setPreferredWidth(50);Tbtabela.getColumnModel().getColumn(2).setPreferredWidth(50);/*Centralizar conteúdo da célula*/cellRender.setHorizontalAlignment(SwingConstants.CENTER);Tbtabela2.getColumnModel().getColumn(0).setCellRenderer(cellRender);Tbtabela2.getColumnModel().getColumn(1).setCellRenderer(cellRender);Tbtabela2.getColumnModel().getColumn(2).setCellRenderer(cellRender);returnTbtabela2;}privateJMenuBargetBarraTratamentoPares(){if(BarraTratamentoPares==null){BarraTratamentoPares=newJMenuBar();BarraTratamentoPares.add(getMnTratamentoPares());BarraTratamentoPares.add(getMnVoltar());}returnBarraTratamentoPares;}privateJMenugetMnTratamentoPares(){if(MnTratamentoPares==null){MnTratamentoPares=newJMenu();MnTratamentoPares.setText("Tratamento de Pares");MnTratamentoPares.setMnemonic(KeyEvent.VK_T);MnTratamentoPares.add(getMiProcessarPares());MnTratamentoPares.add(getMiExibirListaPares());MnTratamentoPares.addSeparator();MnTratamentoPares.add(getMiAdicionarContagem());MnTratamentoPares.add(getMiExcluirContagem());}returnMnTratamentoPares;}privateJMenuItemgetMiProcessarPares(){if(MiProcessarPares==null){MiProcessarPares=newJMenuItem();MiProcessarPares.setText("Processar Pares");}returnMiProcessarPares;}privateJMenuItemgetMiExibirListaPares(){if(MiExibirListaPares==null){MiExibirListaPares=newJMenuItem();MiExibirListaPares.setText("Exibir Lista de Pares");}returnMiExibirListaPares;}privateJMenuItemgetMiAdicionarContagem(){if(MiAdicionarContagem==null){MiAdicionarContagem=newJMenuItem();MiAdicionarContagem.setText("Adicionar Contagem PARA");}returnMiAdicionarContagem;}privateJMenuItemgetMiExcluirContagem(){if(MiExcluirContagem==null){MiExcluirContagem=newJMenuItem();MiExcluirContagem.setText("Excluir Contagem PARA");}returnMiExcluirContagem;}privateJMenugetMnVoltar(){if(MnVoltar==null){MnVoltar=newJMenu();MnVoltar.setText("Voltar");MnVoltar.setMnemonic(KeyEvent.VK_V);}returnMnVoltar;}publicstaticvoidmain(String[]args){newAbTratamentoPares();}}
erico_kl
Aqui rodou normal o seu código exatamente como você postou, mas vi que tem a mesma adição das tabelas duas vezes no seu código (comente as linhas 89 e 90)
diegogm
Verdade tinha me esquecido de comentar essas linhas, muito obrigado.
Então aqui continuou aquele problema não sei na verdade o que é que ocorre
com essas interfaces, ai rodou normal sem ocorrer o problema?
erico_kl
rodou normal… (mesmo adicionando duas vezes)
é estranho acontecer isso, em qual S.O você está executando? qual versão do java? Aparece algum erro na console?
Qualquer coisa tenta chamar um repaint() no final do teu init()
diegogm
erico_kl:
rodou normal… (mesmo adicionando duas vezes)
é estranho acontecer isso, em qual S.O você está executando? qual versão do java? Aparece algum erro na console?
Qualquer coisa tenta chamar um repaint() no final do teu init()
Verdade é muito estranho mesmo, estou rodando ele no Windows 7, versão 6 do Java e não apresenta nenhum erro no console,
estou usando o JDeveloper da Oracle para fazer essas intefaces, minha empresa só usa ele. Conhece essa IDE?
J
JeffSant
Cara, você está setando this.setVisible(true) antes de criar seus componentes.
Remova a linha 54 e a insira na última linha do seu método init().
Ex: