Tamanho JTabbedPane

2 respostas
G

Olá pessoal, como posso definir o tamanho de uma TabbedPane? Gostaria de usar o setlayout(null) e deixar a parte inferior menor para que apareça os botões gravar, excluir, etc...
quem puder me ajudar agradeço.... segue meu código:

import java.awt.*;
import javax.swing.*;

public class Frm001 extends JDialog{

	private JTabbedPane tPane;

    private JLabel lb_Nome;
    private JLabel lb_Ender;

	private JTextField jt_Nome;
	private JTextField jt_Ender;

    public Frm001() {

    	tPane = new JTabbedPane();
    	tPane.add("#Aba1", panel());
    	tPane.add("#Aba2", panel2());
    	this.add(tPane);
    	// DESABILITEI A LINHA ABAIXO, MAS GOSTARIA DE HABILITÁ-LA E DEFINIR
    	// O TAMANHO DO TABBEDPANE PARA POR EXEMPLO, 400x300.
    	//tPane.setLayout(null);
        setTitle("Meu Formulário");
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        setSize(screenSize.width, (screenSize.height - 30));
    	this.setVisible(true);
        setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

    }

    public JPanel panel(){

    	JPanel jp = new JPanel();
        jp.setLayout(null);

        lb_Nome = new JLabel("Nome");
        addComponent(jp, lb_Nome, 39,20,50,50);

        lb_Ender = new JLabel("Endereço");
        addComponent(jp, lb_Ender, 20,50,54,50);

    	return jp;
    }

    public JPanel panel2(){

    	JPanel jp = new JPanel();

    	jp.add(new JLabel("Campo2"));
    	jp.add(new JTextField(20));

    	return jp;
    }


   	/** Acrescenta o componente na tela, sem Gerenciador de Layout */
	private void addComponent(Container container,Component c,int x,int y,int width,int height)
	{
		c.setBounds(x,y,width,height);
		container.add(c);
	}


    public static void main(String arg[]) {
        Frm001 obj = new Frm001();
        obj.setVisible(true);
    }

}

2 Respostas

G

ninguém ???

ViniGodoy

Pô, vc pergunta em pleno domingo e poucas horas depois vem insistir aqui no fórum?
Não fique upando tópicos!

Não use o layout nulo. Você vai ter os seguintes problemas:

  1. Seu layout não vai ser suportado em vários look&feels;
  2. Você não conseguirá redimensionar a janela (pelo menos, não sem programar muito);
  3. Seu programa não será multi-plataforma.

Uma sugestão simples:
No lugar, basta colocar um BorderLayout, coloque seu TabbedPane no centro e um outro painel no sul. Nesse painel do sul, ponha os seus botões.

Criado 29 de junho de 2008
Ultima resposta 29 de jun. de 2008
Respostas 2
Participantes 2