Beruflich Dokumente
Kultur Dokumente
Exemplo : FirstTestjava
import javax.swing.*;
class FirstFrame extends Jframe
{ public FirstFrame ()
{ setTitle('FirstFrame');
setSize(300, 200);
}
}
public class FirstTest
{ public static void main(String[] args)
{ Frame frame = new FirstFrameo;
frame.show ();
}
}
O padro de quadros visveis tenham dimenses O x O pixels, antes que se possa ver
um quadro torna-se necessrio especificar suas dimenses.
No Exemplo fizemos 300 pixels de largura por 200 pixels de altura usando o mtodo
setsize no construtor do quadro.
Finalmente, o quadro vai aparecer no canto superior esquerdo pois no usamos o
mtodo setlocation a fim de reposicion-lo.
Podemos ter um cdigo para criar e mostrar o quadro colocado no mtodo main da
prpria classe.
public class FirstFrame extends Jframe
{ public FirstFrame ()
{ setTitle('FirstFrame');
setsize (300, 200)
}
public satatic void main(String[] args)
{JFrame freme = new FirstFrame();
frame.show();
}
}
Usar o mtodo main da classe frame para o cdigo que instancia e exibe o quadro
mais simples no sentido de que no se precisa introduzir outra classe auxiliar para fazer
isso.
Alguns programadores consideram esse estilo de cdigo mais confuso e preferem
separar a classe que executa o programa da classe que controla a aparncia e o
comportamento do quadro.
import java.awt.event.*;
import javax.swing.*;
class CloseableFrame extends Jframe
{ public CloseableFrame ( )
{ setTitle(CloseableFrame);
setSize(300, 200);
addWindowListener(new WindowAdapter ( )
{ public void windowClosing(WindowEvent e)
{
System.exit( );
}
});
}
}
public class CloseableTest
{ public static void main(String[] args)
{
JFrame frame = new CloseableFrame ( )
frame.showo;
}
}
Layout de Quadros
A classe JFrame, por si mesma, somente tem alguns poucos mtodos para alterar a
disposio visual (layout) dos quadros.
Evidentemente, atravs da mgica da herana, a maior parte dos mtodos para se
trabalhar o dimensionamento e o posicionamento de um quadro vem das vrias
superclasses de JFrame.
Exibio de Informaes em um
Quadro
Seria possvel desenhar a string da mensagem diretamente num quadro, mas esta
no seria considerada uma boa prtica de programao.
Em Java, os quadros so projetados realmente somente para serem contineres de
componentes como barras de menu e outros elementos de interface de usurio.
Normalmente desenha-se em outro componente, chamado panel, que adicionado
ao
quadro.
Assim, eles podem conter outros componentes de interface como botes, botes
deslizantes, etc.
O cdigo completo para adicionar um painel a um quadro :
Container painelconteudo = frame.getContentPane ( );
JPanel p = new JPanel
painelconteudo. add (p)
javax.swing.JFrame
Container getContentPane ( )
retoma o objeto rea de contedo deste JFrame.
NOTA:
Realmente, o argumento de paintcomponent um objeto do tipo
Graphics2D, uma subclasse da classe Graphics. A classe Graphics2D tem Mtodos
adicionais para desenhos mais sofisticados. A classe conceitualmente mais simples,
Graphics, suficiente para desenhos de linhas retas simples.
Exemplo : NotHelloWorldjava
import java.awt.*;
import java.awt.event.*;
import javax.swing.*,,
class NotHelloworldPanel extends Jpanel
{ public void paintComponent(Graphics g)
{ super.paintComponent(g);
g.drawString('Not a Hello, World program', 75, 100);
}
}
class NotHelloWorldFrame extends Jframe
{ public NotHelloWorldFrame ( )
{ setTitle('NotHelloWorld');
setSize(300, 200);
addWindowListener(new WindowAdaptero
public void windowClosing(WindowEvent e)
{ System.exit(O);
}
});
Container contentpane = getContentPaneo;
contentpane.add(new NotHelloworldPane ( ));
}
}
public class NotHelloWorld
{
public static void main(String[] args)
{ JFrame freme = new NotHelloWorldFrame ( );
frame.show ( ); }