PROGRAMA MAIN:
import javax.swing.JFrame;
import gerencia.Controle;
import gui.UIJogo;
import gui.UIPrincipal;
public class ProgMain {
public static void main(String[] args) {
try{
UIPrincipal janela = new UIPrincipal();
Controle sistema = new Controle() ;
janela.setActionListener(sistema);
sistema.setInterface(janela);
sistema.start();
}catch(Exception e) {System.err.println(e.getMessage());}
}
}
CONTROLE:
package gerencia;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import gui.UIPrincipal;
public class Controle implements ActionListener {
private UIPrincipal janela;
public void setInterface(UIPrincipal janela) {
this.janela = janela;
}
public void start() {
janela.setTitle("AVENTURA ECOLÓGICA");
janela.setSize(700,600);
janela.setResizable(false); //nao maximiza
janela.setDefaultCloseOperation(UIPrincipal.EXIT_ON_CLOSE);
janela.setLocationRelativeTo(null);
janela.setActionListener(this);
janela.setVisible(true);
}
<a class="mention" href="/u/override">@Override</a>
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("mMENU")) {
janela.configurarTela(UIPrincipal.MENU);
}
else if(e.getActionCommand().equals("mINSTRUCAO")) {
janela.configurarTela(UIPrincipal.INSTRUCAO);
}
else if(e.getActionCommand().equals("mPONTUACAO")) {
janela.configurarTela(UIPrincipal.PONTUACAO);
}
}
}
UIPrincipal:
package gui;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Font;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
@SuppressWarnings("serial")
public class UIPrincipal extends JFrame {
public static final int MENU = 0;
public static final int JOGO= 1;
public static final int PONTUACAO = 2;
public static final int INSTRUCAO = 3;
private JPanel painelDeConteudo = null;
private JLabel lbTextoLogo = null;
private JButton btnIniciar = null;
private JButton btnInstrucao = null;
private JButton btnPontuacao = null;
public UIPrincipal() {
this.setContentPane(getPainelDeConteudo());
//IMAGEM DE FUNDO\\
ImageIcon img = new ImageIcon(getClass().getResource("../imagens/iconRecicla.png"));
JLabel lbImg = new JLabel(img);
lbImg.setBounds(100,50,500,500);
img.setImage(img.getImage().getScaledInstance(lbImg.getWidth(), lbImg.getHeight(),1)); // redimenciona a imagem
getContentPane().add(lbImg);
}
private JPanel getPainelDeConteudo() {
if( painelDeConteudo == null) {
painelDeConteudo = new JPanel();
painelDeConteudo.setLayout(new BorderLayout());
painelDeConteudo.add(getBtnIniciar(), null);
painelDeConteudo.add(getBtnInstrucao(),null);
painelDeConteudo.add(getBtnPontuacao(),null);
painelDeConteudo.add(getLogo(),null);
}
return painelDeConteudo;
}
private JLabel getLogo() {
if(lbTextoLogo == null) {
lbTextoLogo = new JLabel("AVENTURA ECOLÓGICA");
lbTextoLogo.setBounds(1,200,900,100);
lbTextoLogo.setFont(new Font("Algerian", Font.BOLD,60));
lbTextoLogo.setHorizontalTextPosition(SwingConstants.CENTER);//centraliza a JLabel
}
return lbTextoLogo;
}
private JButton getBtnIniciar() {
if (btnIniciar == null) {
btnIniciar = new JButton("INICIAR");
btnIniciar.setBounds(10,500,150,50);
}
btnIniciar.setActionCommand("mIniciar");
return btnIniciar;
}
private JButton getBtnInstrucao() {
if(btnInstrucao == null) {
btnInstrucao = new JButton("INSTRUCAO");
btnInstrucao.setBounds(540, 500, 150, 50);
}
btnInstrucao.setActionCommand("mInstrucao");
return btnInstrucao;
}
private JButton getBtnPontuacao() {
if(btnPontuacao == null) {
btnPontuacao = new JButton("PONTUAÇÃO");
btnPontuacao.setBounds(270, 500, 150, 50);
}
btnInstrucao.setActionCommand("mPontuacao");
return btnPontuacao;
}
public void configurarTela(int modoDeTela) {
getContentPane().removeAll();
switch (modoDeTela) {
case MENU:
painelDeConteudo = null;
break;
case JOGO:
JFrame painelDoJogo = new JFrame();
painelDoJogo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
painelDoJogo.setSize(1000,700);
painelDoJogo.setLocationRelativeTo(null);
painelDoJogo.setVisible(true);
break;
case PONTUACAO:
painelDeConteudo = new UIPontuacao();
break;
case INSTRUCAO:
painelDeConteudo = new UIInstrucao();
break;
default:
painelDeConteudo = null;
break;
}
if (painelDeConteudo != null)
setContentPane(painelDeConteudo);
getContentPane().validate();
getContentPane().repaint();
}
public void setActionListener(ActionListener listener) {
btnInstrucao.addActionListener(listener);
btnIniciar.addActionListener(listener);
btnPontuacao.addActionListener(listener);
}
}
UIJogo:
package gui;
import java.awt.BorderLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class UIJogo extends JFrame {
private JLabel lbLixo = null ,
lbObjeto = null;
private JPanel painelJogo = null;
ImageIcon imagemObj;
public UIJogo() {
getPainelDeConteudo();
ImageIcon img = new ImageIcon(getClass().getResource("…/imagens/fundoRua2.JPG"));
JLabel lbImg = new JLabel(img);
lbImg.setBounds(0,0,700,700);
img.setImage(img.getImage().getScaledInstance(lbImg.getWidth(), lbImg.getHeight(),1)); // redimenciona a imagem
getContentPane().add(lbImg);
}
private JPanel getPainelDeConteudo() {
if( painelJogo == null) {
painelJogo = new JPanel();
painelJogo.setLayout(new BorderLayout());
painelJogo.add(add(getLbObjeto()), null);
}
private JLabel getLbObjeto() {
if (lbObjeto == null) {
ImageIcon imagemObj = new ImageIcon(getClass().getResource("…/imagens/Imagens-obj-lixos/fimg-vidro/garrafa51.png"));
lbObjeto = new JLabel(imagemObj);
lbObjeto.setBounds(350,500,50,50);
imagemObj.setImage(imagemObj.getImage().getScaledInstance(lbObjeto.getWidth(), lbObjeto.getHeight(),1)); // redimenciona a imagem
}
}
UIInstrucao:
package gui;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
@SuppressWarnings(“serial”)
public class UIInstrucao extends JPanel{
private JPanel painelInstrucao = null;
private JLabel lbInstrucao = null;
private JButton btnVoltar = null;
protected JFrame instrucao = null;
public UIInstrucao() {
instrucao.setContentPane(getPainelInstrucao());
if(painelInstrucao == null) {
painelInstrucao = new JPanel();
painelInstrucao.add(getTexto(),null);
painelInstrucao.add(getVoltar(),null);
}
}
private JPanel getPainelInstrucao() {
if(painelInstrucao == null) {
painelInstrucao = new JPanel();
painelInstrucao.add(getTexto(),null);
painelInstrucao.add(getVoltar(),null);
}
return painelInstrucao;
}
private JButton getVoltar() {
if(btnVoltar == null) {
btnVoltar = new JButton();
btnVoltar.setBounds(10,500,150,50);
}
btnVoltar.setActionCommand(“mVoltar”);
return btnVoltar;
}
private JLabel getTexto() {
if(lbInstrucao == null) {
lbInstrucao = new JLabel(" Lorem ipsum sapien inceptos orci elit eget venenatis eget,"
+"\n rhoncus habitasse pellentesque ultricies eget elit ultrices donec tellus,"
+"\n nostra aenean nam eleifend lacinia velit non. lorem tempus justo blandit "
+"\n orci feugiat est vel venenatis metus sapien ad, orci scelerisque non nostra"
+"\n risus odio consectetur torquent auctor. ornare potenti fringilla litora"
+"\n risus quis amet dictum aliquam, nostra mollis tempus eleifend tempor placerat"
+"\n ad faucibus, posuere duis potenti quisque sociosqu curabitur non.");
lbInstrucao.setBounds(50,30,500,500);
}
return lbInstrucao;
}
public void setActionListener(ActionListener listener) {
btnVoltar.addActionListener(listener);
}
}
UIPontuacao:
package gui;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class UIPontuacao extends JPanel{
public UIPontuacao() {
JOptionPane.showMessageDialog(null,
“Desculpe. Você ainda não salvou pontos !!”,
“IMPORTANTE!”, JOptionPane.WARNING_MESSAGE);
}
}