Problemas p faze uma agenda!

Saudações!!!

Estou dando os primeiros passos em Java, soh sei realmente o básico, e to tendo um problemaun p faze uma agenda (usando o BlueJ), e eu ainda nem chegui na parte pesada da programaçaun!

Bom, eu tenho duas classes, na primeira (Agenda30), tem uma interface, c 3 botoes, cada botaun tem q abrir uma outra janela. No metodo “Agenda30” estaun apenas as intruçoes p construir a janela. O erro estah no metodo “actionPerformed(ActionEvent e)” na linha 53 “Janelas.JInserir();”, q deveria ativar uma janela na segunda classe(Janelas).
O erro apontado eh q “o metodo JInserir da segunda classe eh um metodo naun statico e naun pode ser referido apartir d um contexto statico”

[code]import java.awt.;
import java.awt.event.
;
import javax.swing.*;

public class Agenda30 extends JFrame implements ActionListener
{
JButton b1,b2,b3,b4;
JLabel L1;

 public Agenda30()
 {
     setTitle("Inserindo botoes na janela");
     setSize(350,100);
     setLocation(50,50);
     getContentPane().setBackground(new Color(180,180,180)); 
     
     b1 = new JButton("Inserir");  
     b1.setBackground(new Color(100,180,180));//cor de fundo do botao
     b1.setForeground(Color.black);//cor do titulo do botÆo
     b1.setFont(new Font("ScriptS",Font.BOLD,20)); //define a fonte do botao
     b1.addActionListener(this);
     b1.setToolTipText("Pressione aqui para inserir um contato");	
     b1.setMnemonic(KeyEvent.VK_I);
      b1.setActionCommand("botao1");//define o nome da acao
     b2 = new JButton("Apagar");
     b2.setBackground(new Color(100,180,180));//cor de fundo do botao
     b2.setForeground(Color.black);//cor do titulo do botÆo
     b2.setFont(new Font("ScriptS",Font.BOLD,20)); //define a fonte do botao
     b2.addActionListener(this);
     b2.setMnemonic(KeyEvent.VK_A);
     b2.setToolTipText("Pressione aqui para apagar um contato");
      b2.setActionCommand("botao2");//define o nome da acao
     b3 = new JButton("Visualizar");
     b3.setBackground(new Color(100,180,180));//cor de fundo do botao
     b3.setForeground(Color.black);//cor do titulo do botÆo
     b3.setFont(new Font("ScriptS",Font.BOLD,20)); //define a fonte do botao
     b3.addActionListener(this);
     b3.setMnemonic(KeyEvent.VK_V);
     b3.setToolTipText("Pressione aqui para visualizar os contatos");
      b3.setActionCommand("botao3");//define o nome da acao
     L1 = new JLabel("AGENDA AÇAÍ");
     getContentPane().setLayout(new GridLayout(2,2)); //gerenciador de layout
     getContentPane().add(b1);
     getContentPane().add(b2);
     getContentPane().add(b3);
     getContentPane().add(L1);
 }

 public void actionPerformed(ActionEvent e)
 {  // metodo implementado pelo ActionListener
     if (e.getSource()==b1)
     {
         Janelas.JInserir();
     }	
     if (e.getSource()==b2) 
     {
  	     Janelas.JApagar();   
     }
     if (e.getSource()==b3) 
     {
  	     Janelas.JVisualizar();
     }	
 }	

 public static void main(String args[])
 {
     JFrame Janela = new Agenda30();
     Janela.show();
     //para fechar a janela
     WindowListener x = new WindowAdapter()
     {
         public void windowClosing(WindowEvent e)
         {
             System.exit(0);
         }
     };
     Janela.addWindowListener(x);
 }

}
[/code]

Na segunda classe (Janelas) o medoto “inserir()” eh o unico q jah esta implementado e ele serve soh p construir a janela (implementarei os metodos apagar() e visualizar() depois q conseguir esse).
O metodo “JInserir()” apenas tem q fazer a montagem da interface da janela, os outros dois metodos seraun implementados depois.

[code]import java.awt.;
import java.awt.event.
;
import javax.swing.*;

public class Janelas extends JFrame
{
Janelas()
{

}
public void inserir()
{
    JLabel IL1,IL2;
    JTextField IT1,IT2;
    JButton IB1;
    setTitle("Inserir Contato");
    setSize(400,200);
    setLocation(150,150);
    setResizable(false);
    IL1 = new JLabel("Nome:");
    IL2 = new JLabel("Número:");
    IT1 = new JTextField();
    IT2 = new JTextField();
    IB1 = new JButton("OK");
    getContentPane().setLayout(new FlowLayout());
    getContentPane().add(IL1);
    getContentPane().add(IT1);
    getContentPane().add(IL2);
    getContentPane().add(IT2);
    getContentPane().add(IB1);
}
public void apagar()
{
    
}
public void visualizar()
{
    
}

public void JInserir()
{
    JFrame JanInserir = new Janelas();
    JanInserir.show();
    //para fechar a janela
    WindowListener x = new WindowAdapter()
    {
        public void windowClosing(WindowEvent e)
        {
            System.exit(0);
        }
    };
    JanInserir.addWindowListener(x);
}
public void JApagar()
{
    
}
public void JVisualizar()
{
    
}

}
[/code]

Algum poderia me ajudar a por pelomenos essa interface p rodar essa interface!!!

Agradeço a tdos q pelomenos se interessarem em ler!!![/code]

De forma bem generica, eu preciso saber como faz p abrir um a outra interface atraves d um JButton.

Da uma forcinha aee galera, tenho q intregar isso antes do fim das ferias!!!
Valeu!!

Olá brekoledy,
não gosto muito de mexer em código dos outros, mas se era pra funcionar, tá ae:

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

 public class Agenda30 extends JFrame implements ActionListener {
     JButton b1,b2,b3,b4;
     JLabel L1;

     public Agenda30(){
         initComponents();
     }

	public void initComponents(){
	 setTitle("Inserindo botoes na janela");
         setSize(350,100);
         setLocation(50,50);
         getContentPane().setBackground(new Color(180,180,180));
         
         b1 = new JButton("Inserir"); 
         b1.setBackground(new Color(100,180,180));//cor de fundo do botao
         b1.setForeground(Color.black);//cor do titulo do botÆo
         b1.setFont(new Font("ScriptS",Font.BOLD,20)); //define a fonte do botao
         b1.addActionListener(this);
         b1.setToolTipText("Pressione aqui para inserir um contato");   
         b1.setMnemonic(KeyEvent.VK_I);
          b1.setActionCommand("botao1");//define o nome da acao
         b2 = new JButton("Apagar");
         b2.setBackground(new Color(100,180,180));//cor de fundo do botao
         b2.setForeground(Color.black);//cor do titulo do botÆo
         b2.setFont(new Font("ScriptS",Font.BOLD,20)); //define a fonte do botao
         b2.addActionListener(this);
         b2.setMnemonic(KeyEvent.VK_A);
         b2.setToolTipText("Pressione aqui para apagar um contato");
          b2.setActionCommand("botao2");//define o nome da acao
         b3 = new JButton("Visualizar");
         b3.setBackground(new Color(100,180,180));//cor de fundo do botao
         b3.setForeground(Color.black);//cor do titulo do botÆo
         b3.setFont(new Font("ScriptS",Font.BOLD,20)); //define a fonte do botao
         b3.addActionListener(this);
         b3.setMnemonic(KeyEvent.VK_V);
         b3.setToolTipText("Pressione aqui para visualizar os contatos");
          b3.setActionCommand("botao3");//define o nome da acao
         L1 = new JLabel("AGENDA AÇAÍ");
         getContentPane().setLayout(new GridLayout(2,2)); //gerenciador de layout
         getContentPane().add(b1);
         getContentPane().add(b2);
         getContentPane().add(b3);
         getContentPane().add(L1);
	}

     public void actionPerformed(ActionEvent e){  
     // metodo implementado pelo ActionListener
         if (e.getSource()==b1){
             new Janelas().JInserir();
         }   
         if (e.getSource()==b2){
              new Janelas().JApagar();   
         }
         if (e.getSource()==b3){
            new Janelas().JVisualizar();
         }   
     }   

     public static void main(String args[]){
         try{
   	      JFrame janela = new Agenda30();
   	      janela.setVisible(true);
   	      //para fechar a janela
   	      WindowListener x = new WindowAdapter(){
   	          public void windowClosing(WindowEvent e){
   	              System.exit(0);
   	          }
   	      };
   	      janela.addWindowListener(x);
         }catch(Exception e){
         	e.printStackTrace();
         }
     }
 } 

Espero ter ajudado! :cool: