Class main - duvida iniciante

5 respostas
E

Amigos boa tarde sou iniciante e gostaria de executar essa classe
como fazer para que uma classe main chame essa class janela?
se alguem puder dar uma forca agradeco muito

eder

package br;

import java.awt.<em>;

import java.util.</em>;

import javax.swing.*;

class JanelaDeMensagem extends JWindow{
JLabel msg;

static JanelaDeMensagem janela;

public static JanelaDeMensagem getInstance(){
	return janela;
}
public JanelaDeMensagem( JFrame frame ) {

super( frame );

janela = this;

int height = 100;

int width = 300;

this.setSize( new Dimension( width, height ) );

JPanel p = new MyPanel( new BorderLayout( 10, 10 ), " Informação " );

msg = new JLabel( “” );

p.add( new JLabel( Util.createImageIcon( “…/classes/resources/bandeiramontando.gif ) ), BorderLayout.WEST );

p.add( msg, BorderLayout.CENTER );

Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

this.setLocation( (int)( d.getWidth() - width ) - 20, (int)( d.getHeight() - height ) - 40 );

this.getContentPane().add( p );

}

}

5 Respostas

aconstantino

Oi Eder,

Encontrei alguns erros no seu código e os corrigi, isto deve funcionar

package br; 

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

class JanelaDeMensagem extends JWindow{ 

JLabel msg; 

static JanelaDeMensagem janela; 

public static JanelaDeMensagem getInstance(JFrame frame){ 
 if(janela !=null) {
        return janela;
 } else {
   janela = new JanelaDeMensagem(frame);
   return janela;
 } 
} 

private JanelaDeMensagem(JFrame frame ) { 
super(frame); 
janela = this;
init(); 
} 

private void init() {
int height = 100; 
int width = 300; 
this.setSize( new Dimension( width, height ) ); 
JPanel p = new MyPanel( new BorderLayout( 10, 10 ), " Informação " ); 
msg = new JLabel( "" ); 
p.add( new JLabel( Util.createImageIcon( "../classes/resources/bandeiramontando.gif" ) ), BorderLayout.WEST ); 
p.add( msg, BorderLayout.CENTER ); 
Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); 
this.setLocation( (int)( d.getWidth() - width ) - 20, (int)( d.getHeight() - height ) - 40 ); 
this.getContentPane().add( p ); 
}


}

ps: Desculpe se houver erros, estou em uma máquina onde não há JSDK e não pude compilar o código

E

desculpa mas onde esta a classe main, pois quando vou dar um RUN no eclipse ele nao encontra a main
valeu a ajuda

aconstantino

Oi Eder

Coloque isto em seu código

<blockquote> public static void main(String[] args) {

// substitua null pelo seu JFrame

JanelaDeMensagem.getInstance(null);

}

E

putz mais uma pergunta
por que eu preciso substituir o null pelo jframe?

valeu a boa vontade

aconstantino

Acredito que você tenha feito isso para colocar um JFrame

Criado 29 de janeiro de 2003
Ultima resposta 29 de jan. de 2003
Respostas 5
Participantes 2