• Nenhum resultado encontrado

4.1. Sugestões Para Trabalhos Futuros

4.1.2 A Respeito do Programa

* Diversificando durante a realização do experimento, de como as cores irão modificar por parte dos Formatos 1 e 3 (colocando figuras que variem de acordo aleatório do programador ou da pessoa testada), como exemplo: Ao invés da face esquerda mudar a tonalidade, no Formato 1, fosse seguida alternada;

* Experimentos testados com outras cores que não sejam primárias ou secundárias, mas sempre tendo pelo menos uma delas como base para testar as outras(como exemplo, várias tonalidades de vermelho a fim de diferenciá-los).

É importante observar as variáveis que foram centralizadas anteriormente, pois uma vez que estiver com pelo menos uma modificada, o problema tornaria outro e os resultados poderiam ser diferentes. Seria outros valores a quantificar se houvesse tais mudanças.

Homens R G B R G B preto 0 0 0 6 6 6 cinza 128 128 128 119 119 119 azul 0 0 255 0 0 235 verde 0 255 0 0 238 0 mag 255 0 255 243 0 243 vermelho 255 0 0 238 0 0 laranja 255 200 0 255 190 0 amareLO 255 255 0 242 242 0 ciano 0 255 255 0 243 243 branco 255 255 255 245 245 245

6 -ANEXOS

O código-fonte do programa: Agradecimentos ao Maj Carlos Braz, professor do curso de Cartografia do Instituto Militar de Engenharia.

MenuFrame: import java.awt.Color; import java.awt.BorderLayout; import java.awt.Component; import java.awt.GridLayout; import java.awt.Panel; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; import java.io.FileWriter; import java.io.PrintWriter; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JRadioButtonMenuItem; import javax.swing.JOptionPane; import javax.swing.ButtonGroup; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JMenuBar; import java.io.IOException;

public class MenuFrame extends JFrame {

private final Color arraydecores[] = { Color.BLACK, Color.GRAY, Color.BLUE, Color.GREEN, Color.MAGENTA, Color.RED, Color.ORANGE, Color.YELLOW, Color.CYAN, Color.WHITE };

private JRadioButtonMenuItem colorItems[]; // itens do menu Color private JRadioButtonMenuItem formas[]; // itens do menu Forma private ButtonGroup fontButtonGroup; // gerencia itens do menu Forma private ButtonGroup colorButtonGroup; // gerencia itens do menu Color private final GridLayout Formatos[] = {new GridLayout(1,2,5,5),new GridLayout(1,1,0,0)};

private JPanel painelcentral = new JPanel(); private Panel j1=new Panel();

private Panel j2=new Panel();

private JButton botao=new JButton("aperte"); private JButton botao2=new JButton();

private JMenu menuForma; private Panel aux=new Panel(); private Panel aux1=new Panel(); private Panel aux2=new Panel(); private Panel aux3=new Panel(); private int statusforma;

private Color corbase; private File arquivosaida; private PrintWriter escritor;

// construtor sem argumento para configurar a GUI public MenuFrame() throws IOException

{

super( "Avaliação" );

botao2.setBorderPainted(false);

JMenu fileMenu = new JMenu( "Arquivo" ); // cria o menu File

fileMenu.setMnemonic( 'A' ); // configura o mnemônico como F // cria item de menu Sobre...

JMenuItem aboutItem = new JMenuItem( "Sobre..." );

aboutItem.setMnemonic( 'S' ); // configura o mnemônico com A fileMenu.add( aboutItem ); // adiciona o item about ao menu File

aboutItem.addActionListener(

new ActionListener() // classe interna anônima {

// exibe um diálogo de mensagem quando o usuário seleciona Sobre...

public void actionPerformed( ActionEvent event ) {

JOptionPane.showMessageDialog( MenuFrame.this, "Autoria de Carlos Braz\nbraz@ime.eb.br",

"Sobre", JOptionPane.PLAIN_MESSAGE ); } // fim do método actionPerformed

} // fim da classe interna anônima

); // fim da chamada para addActionListener

JMenuItem exitItem = new JMenuItem( "Exit" ); // cria o item exit

exitItem.setMnemonic( 'x' ); // configura o mnemônico como x fileMenu.add( exitItem ); // adiciona o item exit ao menu File

exitItem.addActionListener(

new ActionListener() // classe interna anônima {

// termina o aplicativo quando o usuário clica exitItem public void actionPerformed( ActionEvent event )

{

long l=0;

l=System.currentTimeMillis();

escritor.println(l/1000000);

escritor.println("---FIM DO TESTE---"); System.exit( 0 ); // encerra o aplicativo

} // fim do método actionPerformed } // fim da classe interna anônima

); // fim da chamada para addActionListener

this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent we){ long l=0; if(arquivosaida.length()==0L) System.exit(0); else l = System.currentTimeMillis(); escritor.println(l/1000000); escritor.println("---FIM DO TESTE---"); System.exit(0); } });

JMenuBar bar = new JMenuBar(); // cria a barra de menus

setJMenuBar( bar ); // adiciona uma barra de menus ao aplicativo bar.add( fileMenu ); // adiciona o menu File a barra de menus

JMenu formatMenu = new JMenu( "Formatos" ); // cria o menu Format formatMenu.setMnemonic( 'F' ); // configura o mnemônico como r // array listando cores de string

String colors[] = { "Preto", "Cinza", "Azul", "Verde", "Magenta", "Vermelho", "Laranja", "Amarelo", "Ciano", "Branco" };

JMenu colorMenu = new JMenu( "Cor" ); // cria o menu Color

colorMenu.setMnemonic( 'C' ); // configura o mnemônico como C // cria itens do menu Color com botões de opção

colorItems = new JRadioButtonMenuItem[ colors.length ]; colorButtonGroup = new ButtonGroup(); // gerencia cores

ItemHandler itemHandler = new ItemHandler(); // handler para cores // cria itens do menu Color com botões de opções

for ( int count = 0; count < colors.length; count++ ) {

colorItems[ count ] = new JRadioButtonMenuItem( colors[ count ] ); // cria o item

colorMenu.add( colorItems[ count ] ); // adiciona o item ao menu Color colorButtonGroup.add( colorItems[ count ] ); // adiciona ao grupo colorItems[ count ].addActionListener( itemHandler );

} // fim do for

formatMenu.add( colorMenu ); // adiciona o menu Color ao menu Format formatMenu.addSeparator(); // adiciona um separador no menu // array listando nomes de forma

String fontNames[] = { "Formato1", "Formato2", "Formato3" }; menuForma = new JMenu( "Forma" ); // cria a forma do menu

menuForma.setMnemonic( 'm' ); // configura o mnemônico como n menuForma.setEnabled(false);

// cria itens do menu radiobutton para nomes de forma

formas = new JRadioButtonMenuItem[ fontNames.length ];

fontButtonGroup = new ButtonGroup(); // gerencia os nomes das formas ItemHandler2 itemHandler2 = new ItemHandler2(); // handler para cores // criar itens do menu Font com botões de opção

for ( int count = 0; count < formas.length; count++ ) {

formas[ count ] = new JRadioButtonMenuItem( fontNames[ count ] ); menuForma.add( formas[ count ] ); // adiciona forma ao menu Font fontButtonGroup.add( formas[ count ] ); // adiciona ao grupo de botões formas[ count ].addActionListener( itemHandler2 ); // adiciona handler } // fim do for

formatMenu.add( menuForma ); // adiciona o menu Font ao menu Format bar.add( formatMenu ); // adiciona o menu Format a barra de menus add(painelcentral,BorderLayout.CENTER); botao.addActionListener(new eventosbotao()); add(botao, BorderLayout.SOUTH); System.out.println(painelcentral.getComponentCount());

arquivosaida = new File("saidaprog.txt");

FileWriter fw = new FileWriter(arquivosaida, true); escritor = new PrintWriter(fw,true);

} // fim do construtor de MenuFrame

// classe interna para tratar eventos de ações dos itens de menu private class ItemHandler implements ActionListener

{

// processa seleções de cor

public void actionPerformed( ActionEvent event ) {

// processa a seleção de cor

for ( int count = 0; count < colorItems.length; count++ ) {

if ( colorItems[ count ].isSelected() ) {

corbase = arraydecores[count]; escritor.println(corbase.toString());

j1.setBackground( arraydecores[ count ] ); j2.setBackground( arraydecores[ count ] ); botao2.setBackground(arraydecores[ count ]); menuForma.setEnabled(true);

if(botao2.isShowing()){ painelcentral.setBackground(botao2.getBackground()); aux.setBackground(botao2.getBackground()); aux1.setBackground(botao2.getBackground()); aux2.setBackground(botao2.getBackground()); aux3.setBackground(botao2.getBackground()); } } // fim do if } // fim do for

repaint(); // redesenha o aplicativo } // fim do método actionPerformed } // fim da classe ItemHandler

private class ItemHandler2 implements ActionListener {

// processa seleções forma

public void actionPerformed( ActionEvent event ) {

// processa a seleção de forma if ( formas[ 0 ].isSelected() ) { statusforma =1; escritor.println(formas[statusforma-1].getActionCommand()); if(botao2.isShowing()||j2.isShowing()){ painelcentral.setBackground(new Color(238,238,238)); painelcentral.removeAll(); repaint(); } painelcentral.setLayout(Formatos[0]); painelcentral.add(j1); painelcentral.add(j2); painelcentral.validate(); repaint(); }// fim do if if ( formas[ 1 ].isSelected() ) {

statusforma =2;

escritor.println(formas[statusforma-1].getActionCommand()); if(j1.isShowing()||botao2.isShowing()){

painelcentral.removeAll();

painelcentral.setBackground(j2.getBackground());//porque

some o j1, somente para dar impressão

repaint(); } painelcentral.setLayout(Formatos[1]); painelcentral.add(j2); painelcentral.validate(); repaint(); } // fim do if if ( formas[ 2 ].isSelected() ) { statusforma =3; escritor.println(formas[statusforma-1].getActionCommand()); if(j1.isShowing()||j2.isShowing()) {painelcentral.removeAll(); } painelcentral.setLayout(new BorderLayout(60,60)); painelcentral.setBackground(botao2.getBackground()); painelcentral.add(botao2, BorderLayout.CENTER); aux.setBackground(botao2.getBackground()); aux1.setBackground(botao2.getBackground()); aux2.setBackground(botao2.getBackground()); aux3.setBackground(botao2.getBackground()); painelcentral.add(aux1, BorderLayout.NORTH); painelcentral.add(aux, BorderLayout.SOUTH); painelcentral.add(aux2, BorderLayout.WEST); painelcentral.add(aux3, BorderLayout.EAST); painelcentral.validate(); repaint(); } // fim do if //System.out.println(painelcentral.getComponentCount()); repaint();

} // fim da classe ItemHandl

private void processa(Component j) throws IOException{ int red = j.getBackground().getRed();

int green = j.getBackground().getGreen(); int blue = j.getBackground().getBlue();

//System.out.println(j.getBackground());

//System.out.println(formas[statusforma-1].getActionCommand()); if(corbase==Color.BLACK){red++;green++;blue++;}

else if(corbase==Color.RED){red--;}

else if(corbase ==Color.GREEN){green--;} else if(corbase ==Color.BLUE){blue--;}

else if(corbase ==Color.MAGENTA){red--;blue--;} else if(corbase ==Color.CYAN){green--;blue--;}

else if(corbase ==Color.GRAY){red--;green--;blue--;} else if(corbase ==Color.ORANGE){green--;}

else if(corbase ==Color.WHITE){red--;green--;blue--;} else if(corbase ==Color.YELLOW){red--;green--;}

//else {red++;green++;blue++;} j.setBackground(new Color(red,green,blue)); escritor.println(j.getBackground().toString()); }

private class eventosbotao implements ActionListener {

// processa seleções de cor e forma

public void actionPerformed( ActionEvent event ) { switch (statusforma) { case 1: try { processa(j1); } catch (IOException e) {

// TODO Auto-generated catch block e.printStackTrace();

}

break; case 2:

try {

processa(j2);

} catch (IOException e) {

// TODO Auto-generated catch block e.printStackTrace(); } break; case 3: try { processa(botao2); } catch (IOException e) {

// TODO Auto-generated catch block e.printStackTrace(); } break; default: JOptionPane.showMessageDialog( MenuFrame.this,

"Escolha \n uma cor",

"ATENCAO", JOptionPane.PLAIN_MESSAGE ); }

} // fim do método actionPerformed } // fim da classe eventobotao

} // fim da classe MenuFrame MenuTest

import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException;

import javax.swing.JFrame; public class MenuTest

{

public static void main( String args[] ) throws IOException {

//menuFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

menuFrame.setSize( 1400, 750 ); // configura o tamanho do frame menuFrame.setVisible( true ); // exibe o frame

long l=0;

l=System.currentTimeMillis(); System.out.println(l/1000000); // fim de main

7 REFERÊNCIAS BIBLIOGRÁFICAS

>http://pepsic.bvs-psi.org.br/pdf/psicousp/v17n4/v17n4a02.pdf [capturado em 20 de janeiro de 2010];

>SEEBER,G., (1993).Satellite geodesy: foundations, methods and applications. Ed.Walter de Gruyter, New York;

> http://bases.bireme.br/ acessado em 17 de novembro de 2009;

>HOLMES, David.,GOSLING, James.,ARNOLD, Ken., A linguagem de Programação Java. Ed.artmed, Quarta Edição; São Paulo, 799 páginas. 2007;

>AZEVEDO,Maria de Fátima Mendes ;SANTOS,Michelle Steiner ;OLIVEIRA,Rúbia; O Uso da Cor no Ambiente de Trabalho: Uma Ergonomia da Percepção .Universidade Federal de Santa Catarina/PPGEP Campus Universitário, Trindade, Florianópolis, SC; 2000

> FERREIRA, da Silva, 2009; Notas de Aula de Comunicação Cartográfica não-publicadas;

> VILLARREAL, Mariana Ruiz; LadyofHats, 2007

>CAYAL, Santiago Ramón y, Histologie Du Système Nerveux de l'Homme et Des Vertébrés, Maloine, Paris, 1911

Documentos relacionados