Olá pessoal.
Alguém poderia me dizer o que está de errado no meu projeto, porque toda vez que eu executo a classe Main e depois por ela eu executo a classe Make ele trava totalmente.
E se eu executo a classe Make ele roda normal.
Aqui estão as duas classes:
package t;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.GroupLayout;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.UIManager;
public class Main extends JFrame {
private Container c = getContentPane();
public Main() {
setExtendedState(MAXIMIZED_BOTH);
setUndecorated(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
public void inicializa() {
setVisible(true);
c.setLayout(new GroupLayout(c));
add();
menu();
}
private void menu() {
novo.add(criar);
novo.add(sair);
bar.add(novo);
setJMenuBar(bar);
metodosMenu();
}
private void metodosMenu() {
criar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dispose();
Make m = new Make();
m.inicializa();
}
});
sair.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
private void add() {
c.add(novo);
c.add(criar);
c.add(sair);
c.add(bar);
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
Main principal = new Main();
principal.inicializa();
} catch (Exception e) {
System.out.println(e);
}
}
private JMenu novo = new JMenu("Novo");
private JMenuItem criar = new JMenuItem("Criar");
private JMenuItem sair = new JMenuItem("Sair");
private JMenuBar bar = new JMenuBar();
}
package t;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
public class Make extends JFrame {
private BufferedImage buffer = new BufferedImage(1370, 746, BufferedImage.TYPE_INT_RGB);
public static int campo[][] = new int[50][50];
public Make() {
setExtendedState(MAXIMIZED_BOTH);
setUndecorated(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
private void grafico() {
Graphics g = getGraphics();
Graphics gg = buffer.createGraphics();
g.drawImage(buffer, 0, 0, this);
gg.dispose();
g.dispose();
}
public void inicializa() {
setVisible(true);
loop();
}
private void loop() {
while (true) {
try {
Thread.sleep(1000 / 9);
grafico();
} catch (Exception e) {
System.out.println(e);
}
}
}
public static void main(String[] args) {
Make m = new Make();
m.inicializa();
}
}
Desde já agradeço…
