JFrame Bug

Pessoal estou com um problema, toda vez que executo qualquer JFrame a janela aparece corretamente porém logo após para de responder e fica travada e não executa mais.

Alguém sabe o motivo?

public ArquivoFrontEnd() {
initialize();
}

private void initialize() {
	
	arquivoFront = new JFrame();
	arquivoFront.setResizable(false);
	arquivoFront.setTitle("Criar Arquivo Novo");
	arquivoFront.getContentPane().setBackground(Color.WHITE);
	arquivoFront.setBounds(100, 100, 393, 312);
	arquivoFront.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	arquivoFront.getContentPane().setLayout(null);
	
	JLabel criarArquivoNovoText = new JLabel("Criar Arquivo Novo");
	criarArquivoNovoText.setHorizontalAlignment(SwingConstants.CENTER);
	criarArquivoNovoText.setFont(new Font("Arial Unicode MS", Font.PLAIN, 12));
	criarArquivoNovoText.setBounds(127, 140, 133, 30);
	arquivoFront.getContentPane().add(criarArquivoNovoText);
	
	JPanel panel = new JPanel();
	panel.setBounds(10, 34, 357, 51);
	arquivoFront.getContentPane().add(panel);
	panel.setLayout(null);
	
	JComboBox comboBox = new JComboBox();
	comboBox.setBounds(16, 11, 325, 26);
	panel.add(comboBox);
	
	JButton bntCriar = new JButton("Criar");
	bntCriar.setBounds(149, 249, 89, 23);
	arquivoFront.getContentPane().add(bntCriar);
	
	JLabel jaCriadosText = new JLabel("Criar Arquivo Novo");
	jaCriadosText.setHorizontalAlignment(SwingConstants.CENTER);
	jaCriadosText.setFont(new Font("Arial Unicode MS", Font.PLAIN, 12));
	jaCriadosText.setBounds(127, 0, 133, 30);
	arquivoFront.getContentPane().add(jaCriadosText);
	
	textArea = new JTextField();
	textArea.setBounds(52, 200, 282, 20);
	arquivoFront.getContentPane().add(textArea);
	textArea.setColumns(10);
	
	JLabel nomeText = new JLabel("NOME");
	nomeText.setBounds(170, 181, 46, 14);
	arquivoFront.getContentPane().add(nomeText);
}

Cadê o código da parte em que o JFrame é exibido com setVisible?

Está usando a thread do Swing? Se não, deveria. É algo como:

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        JFrame jframe = new JFrame();
        jframe.setVisible(true);
      }
    });
  }

Você pode criar seu JFrame em outro método normalmente, mas o ideal é que rode dentro dessa thread. Leia mais em: https://pt.stackoverflow.com/questions/2017/por-que-o-método-main-deve-despachar-a-criação-da-gui-para-a-edt-em-uma-aplicaçã

Abraço.

Coloquei porém mesmo assim o erro persistiu. Será se não pode ser alguma coisa do eclipse ou algo do tipo?

Fica assim quando executa

image

Não noto nada de errado com seu código, mas como você não postou o main(), fica difícil ter certeza.

Copiei seu código e rodei aqui sem problemas. Só mudei o nome da classe e adicionei o setVisible(). Veja como ficou:

import javax.swing.*;
import java.awt.Font;
import java.awt.Color;

public class Teste11{
	
	private JFrame arquivoFront;

	public Teste11() {
		initialize();
	}

	private void initialize() {
		
		arquivoFront = new JFrame();
		arquivoFront.setResizable(false);
		arquivoFront.setTitle("Criar Arquivo Novo");
		arquivoFront.getContentPane().setBackground(Color.WHITE);
		arquivoFront.setBounds(100, 100, 393, 312);
		arquivoFront.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		arquivoFront.getContentPane().setLayout(null);
		
		JLabel criarArquivoNovoText = new JLabel("Criar Arquivo Novo");
		criarArquivoNovoText.setHorizontalAlignment(SwingConstants.CENTER);
		criarArquivoNovoText.setFont(new Font("Arial Unicode MS", Font.PLAIN, 12));
		criarArquivoNovoText.setBounds(127, 140, 133, 30);
		arquivoFront.getContentPane().add(criarArquivoNovoText);
		
		JPanel panel = new JPanel();
		panel.setBounds(10, 34, 357, 51);
		arquivoFront.getContentPane().add(panel);
		panel.setLayout(null);
		
		JComboBox comboBox = new JComboBox();
		comboBox.setBounds(16, 11, 325, 26);
		panel.add(comboBox);
		
		JButton bntCriar = new JButton("Criar");
		bntCriar.setBounds(149, 249, 89, 23);
		arquivoFront.getContentPane().add(bntCriar);
		
		JLabel jaCriadosText = new JLabel("Criar Arquivo Novo");
		jaCriadosText.setHorizontalAlignment(SwingConstants.CENTER);
		jaCriadosText.setFont(new Font("Arial Unicode MS", Font.PLAIN, 12));
		jaCriadosText.setBounds(127, 0, 133, 30);
		arquivoFront.getContentPane().add(jaCriadosText);
		
		JTextField textArea = new JTextField();
		textArea.setBounds(52, 200, 282, 20);
		arquivoFront.getContentPane().add(textArea);
		textArea.setColumns(10);
		
		JLabel nomeText = new JLabel("NOME");
		nomeText.setBounds(170, 181, 46, 14);
		arquivoFront.getContentPane().add(nomeText);

		arquivoFront.setVisible(true);
	}

	public static void main(String args[]){
		SwingUtilities.invokeLater(new Runnable(){
			public void run(){
				Teste11 teste = new Teste11();
			}
		});
	}
}

PS: antes de achar que é problema com a ferramenta (Eclipse), tente resolver o problema e eliminar todas as outras possibilidades. Note que você pode compilar e rodar o programa pelo prompt de comando, o que eliminaria as dúvidas quanto ao Eclipse.

Abraço.

1 curtida