[RESOLVIDO]Centralizar jScrollPane dentro de um JFrame

7 respostas
Oesly

Tenho um JFrame > dentro dele um jScrollPane > e dentro tendo um jPanel que tem todos os meus componentes,

só quero que quando maximizar o JFrame o JScrollPane Centralize também no meio do JFrame, poque ele fica de lado (esquerdo) quando maximizo, alguém pode mim ajudar com algum exemplo? :idea:

7 Respostas

E

Já tentou usar algum gerenciador de layout? Mostra o código pra nós darmos uma olhada e podermos te ajudar.

Oesly

Mano eu não to trabalhando com gerenciador, ta direto to usando netbeans, vc poderia fazer um exemplo pra mim só quero isso quando o JFrame MAXIMIZAR o jScrollPane centralizar dentro do JFrame.

tentei usar esse método aqui, mas ele não aceita o JFrame como parâmetro...

public void centralizarContainer(Component pai, Component filho){    
    
        // obter dimensões do pai    
        int larguraPai = pai.getWidth();    
        int alturaPai = pai.getHeight();    
    
        // obter dimensões do filho    
        int larguraFilho = filho.getWidth();    
        int alturaFilho = filho.getWidth();    
    
        // calcular novas coordenadas do filho      
        int novoX = (larguraPai - larguraFilho);    
        int novoY = (alturaPai - alturaFilho);    
    
        // centralizar filho    
        filho.getParent().setLayout(new GridBagLayout());    
        filho.setSize(new Dimension(novoX, novoY));    
        filho.repaint();    
    }
Oesly

Ajuda pessoal, alguém tem algum modelo de como fazer? :idea:

Oesly
Pessoal um colega mim passou esse algorítimo, mas não ta centralizando a o jScrollPane dentro do JFrame, ele ta sem nenhum erro mas não funciona...
public AlterarCurriculum() {//Construtor.

        initComponents();
         addWindowListener(new WindowAdapter() {
           @Override
               public void windowStateChanged(WindowEvent e) {

if(getExtendedState()!=JFrame.MAXIMIZED_BOTH){ 

int DistanciaX = getWidth()-jScrollPane5.getWidth();
int DistanciaY = getHeight()-jScrollPane5.getWidth();
jScrollPane5.setLocation(DistanciaX/2, DistanciaY/2);
jScrollPane5.repaint();
}}});
              
      
           }

alguém pode ajudar???

douglaskd

douglaskd

msn

Oesly

Pessoal resolvido, segue o código para quem quiser utilizar com as devidas autorizações do altor;
Todo Credito ao Deus Poderoso que deu sabedoria aos homens e em 2º Lugar ao douglaskd que está de parabéns,
por ter desenvolvido um algorítimo tão preciso…

segue o Código que deve ser colocado no: Events -> Component -> ComponentResized (do JFrame Principal).

int Distancia = getWidth() - jScrollPane5.getWidth(); jScrollPane5.setSize(getWidth()-Distancia+20 , getHeight()-50); jScrollPane5.setLocation(Distancia/2,0);

é isso.

Obrigado Senhor, Obrigado Douglaskd

Criado 25 de fevereiro de 2013
Ultima resposta 27 de fev. de 2013
Respostas 7
Participantes 3