Erro de Execução

Olá!

Estou com um problema… Tenho duas classes pertencentes ao mesmo package, uma para a janela com os menus e outra para a barra de status. O projeto é compilado mas tenho um erro de execução na classe “main” que diz que estou tentanto adicionar uma janela à um container.

Os códigos são os seguintes:

[code]
package projectone;

import javax.swing.;
import java.awt.
;
import java.awt.event.;
import java.util.
;
import javax.swing.border.*;
import java.text.DecimalFormat;

public class BottonPanel extends JFrame {

JLabel hours, date;
String dayweek[] = {"Domingo", "2ª Feira", "3ª Feira", "4ª Feira", "5ª Feira", "6ª Feira", "Sábado"};
String month[] = {"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro",	"Dezembro"};
					
public BottonPanel() {
	
	Border border = BorderFactory.createLoweredBevelBorder();
	
	hours = new JLabel("horas", JLabel.CENTER);
	hours.setPreferredSize(new Dimension(75, 20));
	hours.setBorder(border);
	
	date = new JLabel("data", JLabel.CENTER);
	date.setPreferredSize(new Dimension(215, 20));
	date.setBorder(border);
	
	JPanel botton = new JPanel();
	botton.setLayout(new FlowLayout(FlowLayout.LEFT, 1, 0));
	
	botton.add(hours);
	botton.add(date);
	
	ActionListener task = new ActionListener() {
		
		public void actionPerformed(ActionEvent e) {
			
			hoursDate();
			
		}
	};
	
	javax.swing.Timer timer = new javax.swing.Timer(1000, task);
	timer.start();
	
}

private void hoursDate() {
	Calendar now = Calendar.getInstance();
	int ho = now.get(Calendar.HOUR_OF_DAY);
	int mi = now.get(Calendar.MINUTE);
	int se = now.get(Calendar.SECOND);
	
	int dw = now.get(Calendar.DAY_OF_WEEK);
	int dy = now.get(Calendar.DAY_OF_MONTH);
	int mt = now.get(Calendar.MONTH);
	int yr = now.get(Calendar.YEAR);
	
	hours.setText(format(ho % 12) + ":" + format(mi) + ":" + format(se) + "");
	
	date.setText(dayweek[dw - 1] + ", " + format(dy) + " de " + month[mt] + " de " + yr + "");		
}

private String format(int num) {
	DecimalFormat df = new DecimalFormat("00");
	
	return df.format(num);
}

}[/code]

[code]
package projectone;

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

public class Menus extends JFrame {

JMenuItem exit;
	
public Menus() {
		
// Nome Barra Janela		
	super("Primeiro Projeto");
			
// Abertura Container
	Container mainwindow = getContentPane();
	
	FlowLayout layout = new FlowLayout();
	mainwindow.setLayout(layout);		

// Menu		
	// Barra de Menus
	JMenuBar bar = new JMenuBar();
	setJMenuBar(bar);
	
	// Item do Menu
	JMenu file = new JMenu("Arquivo");
	file.setMnemonic(KeyEvent.VK_A);
	
	// SubItem1 do Menu		
	Treatment treat = new Treatment();
	exit = new JMenuItem("Sair");
	exit.setMnemonic(KeyEvent.VK_S);
	exit.addActionListener(treat);
	
	// Adiciona SubItem1 ao Item
	file.add(exit);
	
	// Adiciona Item à Barra	
	bar.add(file);

// Botão 1
	JButton btnone = new JButton("Botão 1");
	// Adiciona Botão à Tela
	mainwindow.add(btnone);

// Painel Inferior
	BottonPanel bottonPanel = new BottonPanel();
	mainwindow.add(bottonPanel, BorderLayout.SOUTH);

// Configuração da Tela
	setSize(1025, 740);
	setVisible(true);	

}

	// Método main()
public static void main(String args[]) {
	
	Menus app = new Menus();
	app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
}

	// Tratamento de Eventos
private class Treatment implements ActionListener {
	
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource() == exit)
		System.exit(0);			

	}
}

}[/code]

Agradeço a ajuada que alguém possa me dar.

Abraço,

ffranco

Por favor, nos informe o “StackTrace”, para que possamos analisar melhor seu problema!

:wink:

Prezado drix,

Desculpe-me minha ignorância em não entender o que vc quis dizer por “StackTrace”. Sou iniciante e ainda não estou totalmente familiarizado com determinados termos. No entanto imagino que vc tenha solicitado a mensagem do erro, que segue abaixo:

“Exception in thread “main” java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.addImplContainer.java:1010
at java.awt.Container.addContainer.java:899
at projectone.Menus.Menus.java:50
at projectone.Menus.mainMenus.java:61
press any key to continue…”

Se não foi esta sua solicitação, favor explicar.

Muito Obrigado!!!

ffranco

Por Favor,

Alguém poderia me ajudar?

Obrigado,

ffranco

at projectone.Menus.<init><Menus.java:50> 

Qual é a linha 50 do seu programa, por obséquio?