Juntar Codigo

Olá amigos,
gostaria de pedei a ajuda de voces para o seguinte…
é possivel eu juntar 2 codigo no mesmo codigo fonte…
tipo eu queria colocar o relogio no arquivo Principal em baixo tipo no rodape alguem sabe como fazer esta fazanha

 import javax.swing.JFrame;
 import javax.swing.JMenu;
 import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
 import java.awt.event.*;
   
 class Principal extends JFrame
   {
    private JMenuBar barraMenu = null;
    private JMenu mnuArquivo = null;
    private JMenu mnuUsuario = null;
    private JMenu mnuFerramentas = null;
    private JMenu mnuAjuda = null;
    private JMenuItem mnuSair = null;  //Sub Menu Arquivo
    private JMenuItem mnuLogin = null; //Sub Menu Arquivo
    private JMenuItem mnuSobre = null; //Sub Menu Ajuda
    private JMenuItem mnuCalculadora = null; //Sub Menu Ferramentas
    private JMenuItem mnuCalendario = null;  //Sub Menu Ferramentas
    private JMenuItem mnuCadastroUser = null;//Sub Menu Usuario
    private JMenuItem mnuPesquisaUser = null;//Sub Menu Usuario
 
    public Principal()
      {
       super();
       initialize();
      }
 
    private void initialize()
      {
       this.setTitle("Em Desenvolvimento..."); //Titulo Janela Principal
       this.setJMenuBar(getBarraMenu());
       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       this.setSize(800,600); //Tamanho da Janela
       this.setVisible(true); //Janela Visivel
       this.setLocationRelativeTo(null);//Centraliza a Janela 
       this.setResizable(false);  //Não deixa Modificar o Tamanho dela
     
     
       //Eventos do Menu
       
       //Sair	
       mnuSair.addActionListener(new ActionListener()
       {
        public void actionPerformed(ActionEvent e)
        {
        	JOptionPane.showMessageDialog(null,"EncerrandoSistema");  
            System.exit(1);
        }
     });
     
     //Sobre
     mnuSobre.addActionListener(new ActionListener()
     {
        public void actionPerformed(ActionEvent e)
        {
        	JOptionPane.showMessageDialog(null,"Sistema Finaceiro\nContato:","Ajuda",JOptionPane.INFORMATION_MESSAGE);  
        }
     });
     
     mnuCadastroUser.addActionListener(new ActionListener()
     {
        public void actionPerformed(ActionEvent e)
        {
        	JOptionPane.showMessageDialog(null,"Cadastro","Cadastro",JOptionPane.INFORMATION_MESSAGE);
        //	CadastroUsuarios user = new CadastroUsuarios();
        //	user.CadastroUsuarios();  
        }
     });
     
     
     
     
      }// Fim initialize
 
    private JMenuBar getBarraMenu()
      {
       if (barraMenu == null)
         {
          barraMenu = new JMenuBar();
          barraMenu.add(getMnuArquivo());
          barraMenu.add(getMnuUsuario());
          barraMenu.add(getMnuFerramentas());
          barraMenu.add(getMnuAjuda());
         }
 
       return barraMenu;
      }
   
    private JMenu getMnuArquivo()
      {
       if (mnuArquivo == null)
         {
          mnuArquivo = new JMenu("Arquivo");
          mnuArquivo.add(getMnuLogin());
          mnuArquivo.add(getMnuSair());
         }
 
       return mnuArquivo;
      }
   
    private JMenu getMnuUsuario()
      {
       if(mnuUsuario == null)
         {
         	 mnuUsuario = new JMenu("Usuários");
         	 mnuUsuario.add(getMnuCadastroUser());
         	 mnuUsuario.add(getMnuPesquisaUser());
         }
 
       return mnuUsuario;
      }
      
      private JMenu getMnuFerramentas()
      {
       if(mnuFerramentas == null)
         { 
         	mnuFerramentas = new JMenu("Ferramentas");
         	mnuFerramentas.add(getMnuCalculadora());
         	mnuFerramentas.add(getMnuCalendario());	
          }
 
       return mnuFerramentas;
      }
   	
    private JMenu getMnuAjuda()
      {
       if(mnuAjuda == null)
         {
          mnuAjuda = new JMenu("Ajuda");
          mnuAjuda.add(getMnuSobre());
         }
 
       return mnuAjuda;
      }
  
  //Inicio dos Menu Itens
   	
    private JMenuItem getMnuSair()
      {
       if (mnuSair == null)
         { mnuSair = new JMenuItem("Sair"); }
 
       return mnuSair;
      }
   	
    private JMenuItem getMnuLogin()
      {
       if(mnuLogin == null)
         { mnuLogin = new JMenuItem("Login"); }
 
       return mnuLogin;
      }
   	
    private JMenuItem getMnuSobre()
      {
       if(mnuSobre == null)
         { mnuSobre = new JMenuItem("Sobre"); }
 
       return mnuSobre;
      }
      
      private JMenuItem getMnuCalculadora()
      {
       if(mnuCalculadora == null)
         { mnuCalculadora = new JMenuItem("Calculadora"); }
 
       return mnuCalculadora;
      }
      
      private JMenuItem getMnuCalendario()
      {
       if(mnuCalendario == null)
         { mnuCalendario = new JMenuItem("Calendario"); }
 
       return mnuCalendario;
      }
      
       private JMenuItem getMnuCadastroUser()
      {
       if(mnuCadastroUser == null)
         { mnuCadastroUser = new JMenuItem("Cadastro"); }
 
       return mnuCadastroUser;
      }
      
       private JMenuItem getMnuPesquisaUser()
      {
       if(mnuPesquisaUser == null)
         { mnuPesquisaUser = new JMenuItem("Pesquisar"); }
 
       return mnuPesquisaUser;
      }
      
      
   
    /**
    * @param args
    */
    public static void main(String[] args)
      {
      	
      	 new Principal();
       
      }// Fim main
   
   }//Fim programa

e outro codigo um Relogio
para colocar no arquivo Principal

import javax.swing.*;   
import java.awt.*;   
import java.awt.event.*;   
import java.util.*;   
  
 class Relogio extends JFrame implements ActionListener {   
  
   private javax.swing.Timer timer;   
   private Date data;   
   private JLabel label;   
   private JFrame frame;   
  
   public Relogio() {   
  
      super("Relógio");   
      label = new JLabel();   
      label.setFont(new Font("Tahoma", Font.BOLD, 22));   
      JPanel panel = new JPanel();   
      panel.add(label);   
      Container c = getContentPane();   
      FlowLayout layout = new FlowLayout();   
      layout.setAlignment(FlowLayout.CENTER);   
      c.setLayout(layout);   
      c.add(panel);   
  
      setResizable(false);   
      setBounds(250, 200, 150, 80);   
      show();   
      disparaRelogio();   
   }   
  
   public void disparaRelogio() {   
      if (timer == null) {   
         timer = new javax.swing.Timer(1000, this);   
         timer.setInitialDelay(0);   
         timer.start();   
      } else if (!timer.isRunning()) {   
         timer.restart();   
      }   
   }   
  
   public void actionPerformed(ActionEvent ae) {   
      GregorianCalendar calendario = new GregorianCalendar();   
      int h = calendario.get(GregorianCalendar.HOUR_OF_DAY);   
      int m = calendario.get(GregorianCalendar.MINUTE);   
      int s = calendario.get(GregorianCalendar.SECOND);   
  
      String hora =   
         ((h < 10) ? "0" : "")   
            + h   
            + ":"  
            + ((m < 10) ? "0" : "")   
            + m   
            + ":"  
            + ((s < 10) ? "0" : "")   
            + s;   
  
      label.setText(hora);   
   }   
  
   public static void main(String args[]) {   
      new Relogio();   
   }   
}  

Nun sei era isso, mas com isso vc pode colcar as duas classes

[code]class Principal1 extends JFrame implements ActionListener {

}

}

public class Segundo{
public static void main(String args[]){
Principal1 asdf;
asdf = new Principal1();
asdf.show();

}

}[/code]