Inserir Aba

7 respostas
biohazard

pessoal to tentando inserir uma aba nessa minha GUI, porem sem sucesso, sei que precisa usar o JTabbetPane porem ja fiz inumeras tentativas aqui sem sucesso se alguem puder me dar uma mao.

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

public class Tela extends JFrame {

	private static final long serialVersionUID = 1L;

	// Variavel usada para guarda o tamanho da pilha digitada pelo usuario
	private int tamanho;
	
	// Objetos da Janela 
	private JLabel labelAss = new JLabel("Assentos do Vo :");
	private JLabel labelADD = new JLabel("Origem :");
	private JLabel labelDest = new JLabel("Destino :");
	private JLabel labelEmp = new JLabel("Empresa :");
	private JButton buttonAdd = new JButton("ADD");
	private JButton buttonSair = new JButton("Sair");
	private JTextField barraOri = new JTextField();   
	private JTextField barraDest = new JTextField(); 
	private JTextField barraEmp = new JTextField();
	private JTextField barraAss = new JTextField();{
	
	// Dados da Janela
	this.getContentPane().setLayout(null);
	this.getContentPane().setBackground(new Color(238, 238, 238));
	this.setSize(522, 370);
	this.setLocation(270, 211);
	this.setTitle("Surfs Up Controlator");
	this.setResizable(false);
    barraOri.setFocusable(true);

	// Cria os Objetos na Janela
	labelADD.setBounds(new Rectangle(4, 48, 57, 37));
	this.getContentPane().add(labelADD, null);
	labelAss.setBounds(new Rectangle(4, 120, 195, 37));
	this.getContentPane().add(labelAss, null);
	labelDest.setBounds(new Rectangle(4, 85, 57, 37));
	this.getContentPane().add(labelDest, null);
	buttonSair.setBounds(new Rectangle(400, 310, 110, 24));
	this.getContentPane().add(buttonSair, null);
	buttonAdd.setBounds(new Rectangle(300, 310, 75, 24));
	this.getContentPane().add(buttonAdd, null);
	barraOri.setBounds(new Rectangle(69, 57, 283, 24));
	this.getContentPane().add(barraOri, null);
	barraAss.setBounds(new Rectangle(120, 125, 40, 24));
	this.getContentPane().add(barraAss, null);
	labelEmp.setBounds(new Rectangle(4,155, 67,37));
	this.getContentPane().add(labelEmp,null);
	barraDest.setBounds(new Rectangle(69, 90, 283, 24));
	this.getContentPane().add(barraDest, null);
	barraEmp.setBounds(new Rectangle(69, 160, 283, 24));
	this.getContentPane().add(barraEmp, null);
	}

	public Tela() {
    try {
      mostra();
    } 
    catch(Exception ex) {
    	ex.printStackTrace();
    }
    
    buttonSair.addActionListener(new ActionListener() {            
        /**
         * Fecha o navagador.
         */            
        public void actionPerformed(ActionEvent b){
            System.exit(0);
        }

    });
    
  buttonAdd.addActionListener(new ActionListener() {            
	  /**
       * Salva a URL digitada na JTextField.
       */            
	  public void actionPerformed(ActionEvent a){      
          
    	  try {   		  
    		  
    		  }
    		  
          catch (Exception q) {
              JOptionPane.showMessageDialog(null,"Erro ao tentar salvar a URL!","Erro",JOptionPane.INFORMATION_MESSAGE);
          }
      }
  });
  } 

  public void mostra() throws Exception {

    this.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        aoFechar();
       }
    });
  }

  private void aoFechar() {
    System.exit(0);
  }

  public static void main(String args[]) {
    (new Tela()).setVisible(true);
  }
}

7 Respostas

Metaleiro

[color=darkblue] Não sei se ajuda, eu utilizo da seguinte forma:

Adiciono os componentes aos panels e utilizo o método para determinar a dimensão

[/color]

panelCliente.setPreferredSize(new Dimension(900, 300));
panelGrupo = new JTabbedPane();
         panelGrupo.addTab("Clientes  ", panelCliente);
         panelGrupo.addTab("Empresa", panelEmpresa);
         panelGrupo.addTab("Produto", panelProduto);
         panelGrupo.addTab("Desconto", panelDesconto);
         panelGrupo.addTab("Documentação", panelDocumentacao);
         add(BorderLayout.CENTER, panelGrupo);
neohacker

Cara e onde está o seu JTabbetPane :?:
Faiz assim cria um JTabbetPane e adiciona um JPanel, cada JPanel aicionado ao JTabbetPane é uma aba.
Acho que assim funciona

biohazard
/** Class Tela
*
* Constroi a Tela do navegador
* Curioso para saber como o projeto foi feito ?
* http://desciclo.pedia.ws/wiki/POG
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Tela extends JFrame {

	private static final long serialVersionUID = 1L;

	// Variavel usada para guarda o tamanho da pilha digitada pelo usuario
	//private int tamanho;
	
	// Objetos da Janela 
	private JLabel labelAss = new JLabel("Assentos do Vo :");
	private JLabel labelADD = new JLabel("Origem :");
	private JLabel labelDest = new JLabel("Destino :");
	private JLabel labelEmp = new JLabel("Empresa :");
	private JButton buttonAdd = new JButton("ADD");
	private JButton buttonSair = new JButton("Sair");
	private JTextField barraOri = new JTextField();   
	private JTextField barraDest = new JTextField(); 
	private JTextField barraEmp = new JTextField();
	private JTextField barraAss = new JTextField();
	private JTabbedPane tab = new JTabbedPane();
	private JPanel painel1 = new JPanel();{
	
	// Dados da Janela
	this.getContentPane().setLayout(null);
	this.getContentPane().setBackground(new Color(238, 238, 238));
	this.setSize(522, 370);
	this.setLocation(270, 211);
	this.setTitle("Surfs Up Controlator");
	this.setResizable(false);
    barraOri.setFocusable(true);
    

    tab.addTab("Clientes  ", painel1);
    add(BorderLayout.CENTER, tab);

	// Cria os Objetos na Janela
	labelADD.setBounds(new Rectangle(4, 48, 57, 37));
	this.getContentPane().add(labelADD, null);
	labelAss.setBounds(new Rectangle(4, 120, 195, 37));
	this.getContentPane().add(labelAss, null);
	labelDest.setBounds(new Rectangle(4, 85, 57, 37));
	this.getContentPane().add(labelDest, null);
	buttonSair.setBounds(new Rectangle(400, 310, 110, 24));
	this.getContentPane().add(buttonSair, null);
	buttonAdd.setBounds(new Rectangle(300, 310, 75, 24));
	this.getContentPane().add(buttonAdd, null);
	barraOri.setBounds(new Rectangle(69, 57, 283, 24));
	this.getContentPane().add(barraOri, null);
	barraAss.setBounds(new Rectangle(120, 125, 40, 24));
	this.getContentPane().add(barraAss, null);
	labelEmp.setBounds(new Rectangle(4,155, 67,37));
	this.getContentPane().add(labelEmp,null);
	barraDest.setBounds(new Rectangle(69, 90, 283, 24));
	this.getContentPane().add(barraDest, null);
	barraEmp.setBounds(new Rectangle(69, 160, 283, 24));
	this.getContentPane().add(barraEmp, null);
	}	
	public Tela() {
    try {
      mostra();
    } 
    catch(Exception ex) {
    	ex.printStackTrace();
    }
    
    buttonSair.addActionListener(new ActionListener() {            
        /**
         * Fecha o navagador.
         */            
        public void actionPerformed(ActionEvent b){
            System.exit(0);
        }

    });
    
  buttonAdd.addActionListener(new ActionListener() {            
	  /**
       * Salva a URL digitada na JTextField.
       */            
	  public void actionPerformed(ActionEvent a){      
          
    	  try {   		  
    		  
    		  }
    		  
          catch (Exception q) {
              JOptionPane.showMessageDialog(null,"Erro ao tentar salvar os dados !","Erro",JOptionPane.INFORMATION_MESSAGE);
          }
      }
  });
  } 

  public void mostra() throws Exception {

    this.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        aoFechar();
       }
    });
  }

  private void aoFechar() {
    System.exit(0);
  }

  public static void main(String args[]) {
    (new Tela()).setVisible(true);
  }
}

mais uma tentativa, não da erro mais também não aparece a aba

lina

Oi,
amigo… só faltou definir o tamanho e a localização do seu tabbedpane…
de um setBounds nele e depois adicione…

Tchauzin!

biohazard

opsss, esquecii, obrigado lina, ja ta funcionando

biohazard

pessoal eu consegui inserir as abas porem as labels, textfields e buttons nao ficam nas coordenadas passadas pq?

/** Class Tela
*
* Constroi a Tela do navegador
* Curioso para saber como o projeto foi feito ?
* http://desciclo.pedia.ws/wiki/POG
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Tela extends JFrame {

	private static final long serialVersionUID = 1L;

	// Variavel usada para guarda o tamanho da pilha digitada pelo usuario
	//private int tamanho;
	
	// Objetos da Janela 
	private JLabel labelAss = new JLabel("Assentos do Vo :");
	private JLabel labelOri = new JLabel("Origem :");
	private JLabel labelDest = new JLabel("Destino :");
	private JLabel labelEmp = new JLabel("Empresa :");
	private JButton buttonAdd = new JButton("ADD");
	private JButton buttonSair = new JButton("Sair");
	private JTextField barraOri = new JTextField();   
	private JTextField barraDest = new JTextField(); 
	private JTextField barraEmp = new JTextField();
	private JTextField barraAss = new JTextField();
	private JTabbedPane tab = new JTabbedPane();
	private JPanel painel1 = new JPanel();
	private JPanel painel2 = new JPanel();{
	
	// Dados da Janela
	this.getContentPane().setLayout(null);
	this.getContentPane().setBackground(new Color(238, 238, 238));
	this.setSize(522, 370);
	this.setLocation(270, 211);
	this.setTitle("Surfs Up Controlator");
	this.setResizable(false);
    barraOri.setFocusable(true);
    

    tab.addTab("Vôo  ", painel1);
    tab.addTab("Passageiros  ", painel2);
    tab.setBounds(new Rectangle(0, 0, 520, 368));
    add(BorderLayout.CENTER, tab);

	// Cria os Objetos na Janela
	labelOri.setBounds(new Rectangle(4, 48, 57, 37));
	this.painel1.add(labelOri, null);
	labelAss.setBounds(new Rectangle(4, 120, 195, 37));
	this.painel1.add(labelAss, null);
	labelDest.setBounds(new Rectangle(4, 85, 57, 37));
	this.painel1.add(labelDest, null);
	buttonSair.setBounds(new Rectangle(400, 310, 110, 24));
	this.painel1.add(buttonSair, null);
	buttonAdd.setBounds(new Rectangle(300, 310, 75, 24));
	this.painel1.add(buttonAdd, null);
	barraOri.setBounds(new Rectangle(69, 57, 283, 24));
	this.painel1.add(barraOri, null);
	barraAss.setBounds(new Rectangle(120, 125, 40, 24));
	this.painel1.add(barraAss, null);
	labelEmp.setBounds(new Rectangle(4,155, 67,37));
	this.painel1.add(labelEmp,null);
	barraDest.setBounds(new Rectangle(69, 90, 283, 24));
	this.painel1.add(barraDest, null);
	barraEmp.setBounds(new Rectangle(69, 160, 283, 24));
	this.painel1.add(barraEmp, null);
	}	
	public Tela() {
    try {
      mostra();
    } 
    catch(Exception ex) {
    	ex.printStackTrace();
    }
    
    buttonSair.addActionListener(new ActionListener() {            
        /**
         * Fecha o navagador.
         */            
        public void actionPerformed(ActionEvent b){
            System.exit(0);
        }

    });
    
  buttonAdd.addActionListener(new ActionListener() {            
	  /**
       * Salva a URL digitada na JTextField.
       */            
	  public void actionPerformed(ActionEvent a){      
          
    	  try {   		  
    		  
    		  }
    		  
          catch (Exception q) {
              JOptionPane.showMessageDialog(null,"Erro ao tentar salvar os dados !","Erro",JOptionPane.INFORMATION_MESSAGE);
          }
      }
  });
  } 

  public void mostra() throws Exception {

    this.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        aoFechar();
       }
    });
  }

  private void aoFechar() {
    System.exit(0);
  }

  public static void main(String args[]) {
    (new Tela()).setVisible(true);
  }
}

neohacker

Cara vc ta usando alguma IDE ??
é que me parece que vc está usando FlowLayout, tenta verificar isso

Criado 8 de maio de 2007
Ultima resposta 10 de mai. de 2007
Respostas 7
Participantes 4