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