olá pessoal, a um tempo mandei uma pergunta mas ninguem pode me ajudar com meu problema, por isso insisto
Tenho um jPanel ao qual adiciono jInternal Frames, vários, meu problema consiste em que eu quero que quando o usuario clicar em um inernal frame dos que estao para traas este venha pra frente, e quando abrir um novo internal frame este apareça sobrepondo os outro, até agora ainda não consegui faze-lo. será que alguem poderia me ajudar?
na outra pergunta alguns me sugeriram usar setSelected(true); mas não é isso, isso nao muda nada :?: , nada mesmo. enfim
To pegando essa excessao qdo a janela ta aberta e adicionada no desktop. Observe que vc ta adicionando e dando um show na mesma referencia que ja esta lá… isso pq vc ta pegando do mapa ( hashmap ).
brlima
Isso aqui funfou como sendo um Internalframe
Posta ai o codigo de inicializacao da tua classe que estende o InterFrame, a JIntFFunc.
vou postar uma que extende menor, a de funcionario é enorme
publicclassJIntFCargoextendsbr.com.netset.hyperpos.gui.forms.JIntFCargo{publicJIntFCargo(){super();iniciaTabela();postInitComponents();}/***************** * INICIA TABELA * *****************/privatevoidiniciaTabela(){/* tabela */MyTableModelmyModel=newMyTableModel();finalListlista=newArrayList();//nova linhalista.add(newObject[]{"","",newBoolean(false)});myModel.setData(lista);//nomes das colunasmyModel.setColumnNames(newString[]{"Id.","Cargo","Repara?"});jTable.setModel(myModel);jTable.addKeyListener(newKeyListener(){publicvoidkeyPressed(KeyEvente){// se enter ou seta pra baixoif((e.getKeyCode()==KeyEvent.VK_ENTER)||(e.getKeyCode()==KeyEvent.VK_DOWN)){//SE for ultima linhaif((jTable.getSelectedRow()==jTable.getRowCount()-1)){//insere nova linha na tabelalista.add(newObject[]{"","",newBoolean(false)});jTable.show();jTable.editCellAt(jTable.getRowCount()-1,0);intlinha=jTable.getSelectedRow();jTable.changeSelection(linha,0,true,true);}}}publicvoidkeyReleased(KeyEvente){}publicvoidkeyTyped(KeyEvente){}});//define tamanho preferencial das colunasjTable.getColumnModel().getColumn(2).setPreferredWidth(40);jTable.getColumnModel().getColumn(1).setPreferredWidth(140);jTable.getColumnModel().getColumn(0).setPreferredWidth(140);}/********************** * INICIA COMPONENTES * **********************/privatevoidpostInitComponents(){this.addFocusListener(JIntFFocusListener.getInstance());JComboBoxcomboBox=newJComboBox();//insere variaveis no combo boxcomboBox.addItem("Supervisor");//exemplo//insere o comboBox na tabelajTable.getColumnModel().getColumn(1).setCellEditor(newDefaultCellEditor(comboBox));//evento para botao okjButOk.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){jButOkActionPerformed(e);//chama ação}});}privatevoidjButOkActionPerformed(ActionEvente){this.dispose();//fecha janela e termina execução}}
L
lordze
cara acho desnecessario postar a jIntFFunc, pq tah normal, e foi feita no netBeans
mas se for necessario mesmo da um toke
[]'s
L
lordze
mudei o código depois q vc mandou a msg, agora esta assim: mas ainda nao funfa :roll:
R
Rizzo1 like
Olá lordze… tudo bem !?
para que o método setSelected dê certo, precisa ser feito após a adição da internal frame no desktop.