GUI em JAVA

AwakE

Banido
Bem...tá aqui um exemplo de um GUI escrito em JAVA, mas....não funciona :D.

Infelizmente a janela aparece vazia, excepto o menu "File"....
Alguem me pode dizer o que tá errado. Sou noob em JAVA.

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

// Classe o MeuGui derivada da classe Frame
public class MeuGUI extends Frame{

public static void main(String[] args) {

new MeuGUI();
}
public MeuGUI(){
//titulo
setTitle("O Meu GUI");
setVisible(true);
setLayout(new FlowLayout());

setSize(700,700);
// regista o Listener para o evento que fecha a janela
addWindowListener(new WindowAdapter(){
public void windowClosing (WindowEvent e){
System.exit(0);
}
});
// cria botoes....
Button open = new Button("Open");
Button quit = new Button("Quit");
Button save = new Button("Save");
Panel buttons = new Panel();
// ...dentro de um painel
buttons.add(open);
buttons.add(save);
buttons.add(quit);
// adiciona o painel à frame
add(buttons);

TextField texto = new TextField(70);
Font fonte = new Font("Courier",Font.PLAIN,10);
texto.setFont(fonte);
add(texto);
texto.setVisible(true);

// Define a barra lá de cima "File"
MenuBar menu = new MenuBar();
Menu file = new Menu("File");
file.add(new MenuItem("Open..."));
file.add(new MenuItem("Save"));
file.add(new MenuItem("Save as..."));
file.addSeparator();
file.add(new CheckboxMenuItem("Confirm changes?"));
file.add(new MenuItem("Quit"));
menu.add(file);
setMenuBar(menu);

}
}
 
tens de chamar o metodo setVisible() apenas no fim de adicionares todos os componentes à Frame, caso contrário estás a mostrar coisas k ainda nem crias-te. Primeiro crias os componentes, depois adicionas à frame e depois é k a metes visible ;)
 
Pois...por acaso esta era a versão antiga do código, já tinha posto o setVisible no fim. Depois tentei o .pack(), mas tb não deu.... é estranho...

A voces aparece alguma coisa com este codigo? Se usar código para SWING já aparece... :(
 
Experimenta este código: :x2:

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

// Classe o MeuGui derivada da classe Frame
public class MeuGUI extends JFrame
{
public static void main(String[] args)
{
new MeuGUI();
}

public MeuGUI()
{
//titulo
setTitle("O Meu GUI");
setDefaultCloseOperation(this.EXIT_ON_CLOSE);
Container painel_principal = getContentPane();
painel_principal.setLayout(new FlowLayout());
setSize(700,700);

// cria botoes....
Button open = new Button("Open");
Button quit = new Button("Quit");
Button save = new Button("Save");
Panel buttons = new Panel();

// ...dentro de um painel
buttons.add(open);
buttons.add(save);
buttons.add(quit);

// adiciona o painel à frame
painel_principal.add(buttons);

TextField texto = new TextField(70);
Font fonte = new Font("Courier",Font.PLAIN,10);
texto.setFont(fonte);
painel_principal.add(texto);

// Define a barra lá de cima "File"
MenuBar menu = new MenuBar();
Menu file = new Menu("File");
file.add(new MenuItem("Open..."));
file.add(new MenuItem("Save"));
file.add(new MenuItem("Save as..."));
file.addSeparator();
file.add(new CheckboxMenuItem("Confirm changes?"));
file.add(new MenuItem("Quit"));
menu.add(file);
setMenuBar(menu);
setVisible(true);
}
}
 
Back
Topo