// Autor: Fábio Dalla Vecchia - RA:981091 package pckInterface; import java.awt.*; // importa a classe de Layout personalizado // import InterfaceLayout; // Classe: CanvasBotaoArquivoEncomenda // Autor: Fábio Dalla Vecchia - RA:981091 // Canvas que controla o Botao de abertura de arquivos de encomenda class CanvasBotaoArquivoEncomenda extends Canvas { private int largura; private int altura; private Image img[] = new Image[2]; private int Estado = 0; private FileDialog CaixaDialogoEncomenda; // acessíveis ao Applet protected boolean BotaoPressionado = false; protected String msg = "Abrir arquivo de Encomendas (Arquivo atual: Nenhum)"; protected String ArquivoEncomenda; protected boolean msgStatus=false; // Construtor // Autor: Fábio Dalla Vecchia - RA:981091 public CanvasBotaoArquivoEncomenda( int larg,int alt, Image imagem[]) { largura = larg; altura = alt; img[0] = imagem[0]; img[1] = imagem[1]; reshape( 0,0,larg,alt ); } // Mouse foi pressionado // Autor: Fábio Dalla Vecchia - RA:981091 public boolean mouseDown( Event evt,int x,int y ) { BotaoPressionado = true; repaint(); // Abrir Novo arquivo de Encomendas CaixaDialogoEncomenda = new FileDialog(new Frame(), "Escolha o novo arquivo de Encomendas", FileDialog.LOAD); CaixaDialogoEncomenda.setDirectory("."); // seta diretorio corrente CaixaDialogoEncomenda.show(); if (CaixaDialogoEncomenda.getFile() != null) { ArquivoEncomenda = CaixaDialogoEncomenda.getFile(); msg = "Abrir arquivo de Encomendas (Arquivo atual: "+ArquivoEncomenda+") " ; System.out.println( msg ); } repaint(); return( true ); } // Botão do mouse foi solto // Autor: Fábio Dalla Vecchia - RA:981091 public boolean mouseUp( Event evt,int x,int y ) { BotaoPressionado = false; // by fdv repaint(); return( true ); } // Quando mouse passa sobre controle, exibimos uma mensagem // na linha de estado inferior da tela // Autor: Fábio Dalla Vecchia - RA:981091 public boolean mouseEnter( Event evt,int x,int y ) { //showStatus( "Abrir arquivo de Encomendas" ); msgStatus=true; repaint(); return( true ); } // Limpa linha de status quando mouse sai do controle // Autor: Fábio Dalla Vecchia - RA:981091 public boolean mouseExit( Event evt,int x,int y ) { BotaoPressionado = false; // by FDV //showStatus( "" ); msgStatus=false; repaint(); return( true ); } // Autor: Fábio Dalla Vecchia - RA:981091 public void update( Graphics g ) { // Muda estado do controle (pressionado ou não) if( !BotaoPressionado ) Estado = 0; else Estado = 1; paint( g ); } // Autor: Fábio Dalla Vecchia - RA:981091 public void paint( Graphics g ) { g.drawImage( img[Estado],0,0,this ); } }