setVisible(true); // ERRO

ESTOU INICIANDO EM JAVA E TENHO UMA DUVIDA
TENHO O SEGUINTE CODIGO QUE NA ULTIMA LINHA TEM UM ERRO

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Erro1 extends JFrame {
public static void main(String[] args) {
new Erro1();
}

public Erro1() {

// super(“titulo”);
this.setSize(330, 160);
this.setLayout(null);

	JButton bt_entrar = new JButton("Entrar");

	bt_entrar.addActionListener(new entrar());
	
	
	bt_entrar.setBounds(225, 60, 80, 20);
	this.add(bt_entrar);

}
public class entrar implements ActionListener{
	public void actionPerformed(ActionEvent e){
		Mainframe main = new Mainframe();
		main.setVisible(true); // ERRO -> The method setVisible(boolean) is undefined for the type Mainframe
	}
}

}

eu nao entendi porque esta dando esse erro.
se alguem me puder ajudar, ficarei grato

Valeu

ueh… e a classe Mainframe tem o metodo setVisible ?

ali esta dizendo que não…
poste o codigo da Mainframe…

e coloque o codigo na TAG [ code ]… ou a galera vai apedrejar vc tb =)

Olá,

primeiramente, sugiro que utilize as tags Code para facilitar a vida de quem olha o código. :wink:

Sobre o seu problema, que classe é essa chamada MainFrame?

Mainframe main = new Mainframe();
main.setVisible(true);

Pelo que eu vi, a sua classe se chama Erro1…

 public class Erro1 extends JFrame { 

Você pode confirmar isso, porque existe uma certa confusão aqui… :roll:

segue codigo da Mainframe

[code]
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
import com.programa.sub.*;

public class Mainframe {

public static void main(String[] args) {
	javax.swing.SwingUtilities.invokeLater(new Runnable() {
		public void run() {
			createAndShowGUI();
		}
	});
}

public JMenuBar createMenuBar() {
	JMenuBar menuBar;
	JMenu menu, submenu;
	JMenuItem menuItem;
	menuBar = new JMenuBar();

	// ARQUIVO
	menu = new JMenu("Arquivo");
	menuBar.add(menu);

	menuItem = new JMenuItem("Sair", KeyEvent.VK_L);
	menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_4,
			ActionEvent.CTRL_MASK));
	menuItem.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent arg0) {
			System.exit(0);
		}
	});
	menu.add(menuItem);

	// SISTEMA
	menu = new JMenu("Sistemas");
	menuBar.add(menu);

	// Cadastros Básicos
	submenu = new JMenu("Agenda");
	submenu.setIcon(new ImageIcon("icon/agenda.jpg"));
	submenu.setMnemonic(KeyEvent.VK_B);

	// Cadastro de clientes
	menuItem = new JMenuItem("Cadastro de clientes", KeyEvent.VK_C);
	menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1,
			ActionEvent.CTRL_MASK));
	menuItem.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent arg0) {
			Cad_cliente cad_clientes = new Cad_cliente();
			cad_clientes.setVisible(true);
		}
	});
	submenu.add(menuItem);
	menu.add(submenu);

	// Localizar cadastros
	menuItem = new JMenuItem("Localizar cadastros", KeyEvent.VK_L);
	menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2,
			ActionEvent.CTRL_MASK));
	menuItem.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent arg0) {
			Loc_cadastro Loc_cadastro = new Loc_cadastro();
			Loc_cadastro.setVisible(true);
		}
	});

	submenu.add(menuItem);
	menu.add(submenu);

	menu.addSeparator();

	menuItem = new JMenuItem("Calculadora", KeyEvent.VK_C);
	menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
			ActionEvent.CTRL_MASK));
	menuItem.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent arg0) {
			new Calculadora();
		}
	});
	menu.add(menuItem);
	return menuBar;
}

private static void createAndShowGUI() {
	JFrame frame = new JFrame("Nortele");
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	Mainframe demo = new Mainframe();
	frame.setJMenuBar(demo.createMenuBar());

	// deixa programa maximizado
	frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
	frame.setVisible(true);
}

}[/code]

entao… o erro é simples…

a classe Mainframe não tem o metodo setVisible(boolean)

ou vc dah um extends nela com relação ao objeto principal…

ou vc dah um get no componente q vc quer que seja setado para visible…

teria como voce me dar um exeplo?

valeu!!

acho q no seu caso vc pode mudar a classe “entrar”

tente isso:

public class entrar implements ActionListener{ public void actionPerformed(ActionEvent e){ Mainframe.createAndShowGUI(); } }

apesar de eu achar errado fazer isso… =)

mas deve funcionar do jeito q vc ker…

nao deu certo…

vc esta programando onde? na mão?

puis no eclipse e vi o pq…

vc precisa adicionar a linha
setVisible(true);
no construtor da classe Erro1

e mude para PUBLIC
o --> PRIVATE static void createAndShowGUI() {

}

tesao!!! funcionou certinho

valeu