Panels e Frames

5 respostas
V

Gostaria de saber qual o comando que insere uma classe extends JPanel em um Frame.

5 Respostas

V

Comentem

L

Fala cara, beleza?
Vou postar um exemplo pra você...

import javax.swing.JFrame;

public class JFPrincipal extends JFrame{

}
import javax.swing.JLabel;
import javax.swing.JPanel;

public class JPPrincipal extends JPanel {

}

No main:

import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Main {

    public static void main(String[] args) {
        JFrame frame = new JFPrincipal();
        JPanel panel = new JPPrincipal();
        JLabel label = new JLabel("UMA LABEL QUALQUER");

        panel.setSize(400, 200);
        panel.setBackground(Color.white);
        panel.setComponentZOrder(label,0);

        frame.setSize(400, 200);
        frame.setTitle("Exemplo");
        frame.setContentPane(panel);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

Nesse exemplo estou setando componentes direto no main, mas isso não é o correto a se fazer:
Se for setar os componetes manualmente, crie-os nas respectivas classes, juntamente com os metodos...
Qualquer duvida, posta ae!

Abçs.

V
leonhard32:
Fala cara, beleza? Vou postar um exemplo pra você...
import javax.swing.JFrame;

public class JFPrincipal extends JFrame{

}
import javax.swing.JLabel;
import javax.swing.JPanel;

public class JPPrincipal extends JPanel {

}

No main:

import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Main {

    public static void main(String[] args) {
        JFrame frame = new JFPrincipal();
        JPanel panel = new JPPrincipal();
        JLabel label = new JLabel("UMA LABEL QUALQUER");

        panel.setSize(400, 200);
        panel.setBackground(Color.white);
        panel.setComponentZOrder(label,0);

        frame.setSize(400, 200);
        frame.setTitle("Exemplo");
        frame.setContentPane(panel);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

Nesse exemplo estou setando componentes direto no main, mas isso não é o correto a se fazer:
Se for setar os componetes manualmente, crie-os nas respectivas classes, juntamente com os metodos...
Qualquer duvida, posta ae!

Abçs.

Olá,

Me descupe fazer perder seu tempo comigo,
O meu problema real é: "Preciso fazer uma exibição de páginas de memória de um gerenciador de memória (simulação de um SO)"
Gostaria de inserir vários JPanel que representaria as regiões de memória e conteríam alguns dados relativos às páginas dos processos.
O design é mais ou menos como um calendário, onde cada dia é um Panel.

Muito obrigado.

L

Fala cara, beleza?

Então, você pode fazer o seguinte, criando uma classe que extend JPanel, crie alguns componentes nela que vai usar, tipo JLabel por exemplo, e atribua o size(largura,altura) no construtor, ou deixe estatico na classe, caso sejam todos os JPanel’s iguais… e, quando for levantar seu JFrame, instancie objetos desta sua classe JPanel, e adicione no JFrame…
Ou faça isto direto no NetBeans mesmo… ja crie um JFrame com seus respectivos JPanel, e adicione em tempo de execução se necessário…

Qualquer duvida posta ae.
Abçs.

V

leonhard32:
Fala cara, beleza?

Então, você pode fazer o seguinte, criando uma classe que extend JPanel, crie alguns componentes nela que vai usar, tipo JLabel por exemplo, e atribua o size(largura,altura) no construtor, ou deixe estatico na classe, caso sejam todos os JPanel’s iguais… e, quando for levantar seu JFrame, instancie objetos desta sua classe JPanel, e adicione no JFrame…
Ou faça isto direto no NetBeans mesmo… ja crie um JFrame com seus respectivos JPanel, e adicione em tempo de execução se necessário…

Qualquer duvida posta ae.
Abçs.

Colocar direto, não dá pq será dinâmico o tamanho da memória virtual.
Minha dúvida agora é a do começo do tópico: Como inserir esses panels no frame

Obrigado.

Criado 28 de março de 2011
Ultima resposta 7 de mai. de 2011
Respostas 5
Participantes 2