Bloquear movimentação de JInternalFrame

COmo é possível fazer com qe um JInternalFrame seja impossibilitado de se mover ?

Não tem como.

com gambiarra da… hahahaha

mas prefira usar frames se quer tanto controle sobre eles

1 curtida

aushuas, é com gambiarra eu posso fazer um desktoppane do tamanho exato do jinternalframe e inserir o internal dentro dele…aushuas coisa feia mesmo…

más o que eu quero fazer é uma aplicação baseada em um único jframe, onde tenho várias áreas que serão outros frames internos o jframe, como se fossem seções, como no outlook onde vc tem o menu de inbox, outbok, sent, e etc…tem a seção que vc le o email, a seção que vc seleciona os emails…

entende, não quero fazer o básico programa onde vc clica em um botão e abre outro jframe e assim em diante, quero fazer yudo em um único frame, por isso pensei nos internalframes sem movimento, pois assim eu deixaria o código mais organizado porque faria os códigos das seções nas classes de cada internalframe, e os paineis tabulados e etc…

com gambiarra da até pra vc capturar os movimentos do jinternalframe e voltar pra origem sempre que o usuário tentar move-lo entende? mas não sugiro

do jeito q vc falou, vc pode usar JFrame sim e usar JDialog como frames internos

Segue uma solução

 // bloquear icone
 frame.getDesktopIcon().removeMouseMotionListener(frame.getDesktopIcon().getMouseMotionListeners()[0]);

 // bloquear o frame
 for(Component c : frame.getComponents()){
        if (c instanceof BasicInternalFrameTitlePane){
        		for (MouseMotionListener m : c.getMouseMotionListeners()){
        			  c.removeMouseMotionListener(m);
        		}
        		break;
        }
 }