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
java.lang.IllegalArgumentException: illegal component position
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 ).
vou postar uma que extende menor, a de funcionario é enorme
[code]public class JIntFCargo extends br.com.netset.hyperpos.gui.forms.JIntFCargo {
public JIntFCargo(){
super();
iniciaTabela();
postInitComponents();
}
/*****************
* INICIA TABELA *
*****************/
private void iniciaTabela(){
/* tabela */
MyTableModel myModel = new MyTableModel();
final List lista = new ArrayList();
//nova linha
lista.add(new Object []{"", "", new Boolean(false)});
myModel.setData(lista);
//nomes das colunas
myModel.setColumnNames(new String[]{"Id.", "Cargo", "Repara?"});
jTable.setModel(myModel);
jTable.addKeyListener(
new KeyListener(){
public void keyPressed(KeyEvent e) {
// se enter ou seta pra baixo
if((e.getKeyCode() == KeyEvent.VK_ENTER)||(e.getKeyCode() == KeyEvent.VK_DOWN)){
//SE for ultima linha
if((jTable.getSelectedRow() == jTable.getRowCount()-1)){
//insere nova linha na tabela
lista.add(new Object []{"", "", new Boolean(false)});
jTable.show();
jTable.editCellAt(jTable.getRowCount()-1,0);
int linha = jTable.getSelectedRow();
jTable.changeSelection(linha,0,true,true);
}
}
}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
}
);
//define tamanho preferencial das colunas
jTable.getColumnModel().getColumn(2).setPreferredWidth(40);
jTable.getColumnModel().getColumn(1).setPreferredWidth(140);
jTable.getColumnModel().getColumn(0).setPreferredWidth(140);
}
/**********************
* INICIA COMPONENTES *
**********************/
private void postInitComponents(){
this.addFocusListener(JIntFFocusListener.getInstance());
JComboBox comboBox = new JComboBox();
//insere variaveis no combo box
comboBox.addItem("Supervisor");//exemplo
//insere o comboBox na tabela
jTable.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(comboBox));
//evento para botao ok
jButOk.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
jButOkActionPerformed(e);//chama ação
}
});
}
private void jButOkActionPerformed(ActionEvent e){
this.dispose();//fecha janela e termina execução
}