• Nenhum resultado encontrado

USJT-2016-CCO&SI-PPINT-Aula14-Combo Box, Campos de Senha e Tabelas em Java

N/A
N/A
Protected

Academic year: 2021

Share "USJT-2016-CCO&SI-PPINT-Aula14-Combo Box, Campos de Senha e Tabelas em Java"

Copied!
5
0
0

Texto

(1)

USJT – 2016 – CCO & SI – PPINT – Práticas de Programação Integrada

Professores:

Calvetti, Élcio, Fúlvio, Hamilton e Rodrigo

Aula:

14

Assunto:

Combo Box, Campos de Senha e Tabelas em Java.

Conceitos Básicos abordados pelo Professor:

- Combo Box;

- Icon;

- Image Icon;

- Password Field;

- Panel;

- Scroll Panel;

- Table

Exemplos:

Combo Box:

Livro Texto: “Java – Como Programar” – 6ª Edição, Autores: Deitel & Deitel; - Exercícios das Figs.: 11.21 (pg. 544) e 11.22 (pg. 545);

Campos de Senha:

Livro Texto: “Java – Como Programar” – 6ª Edição, Autores: Deitel & Deitel; - Exercícios das Figs.: 11.9 (pg. 523) e 11.10 (pg. 525);

Tabelas:

- Exercício extra.

Atividade Prática:

Desenvolver um programa capaz de realizar a consulta das informações previamente cadastradas de um

aluno, de uma escola, sendo que:

a) Deverá ser utilizada uma matriz de objetos para o armazenamento de todos os dados dos alunos;

b) Deverão estar cadastrados os seguintes dados, para cada aluno, para, no mínimo, 3 (três) alunos:

RA(Login), Senha, Nome do Aluno, Matérias, Faltas e Médias dos 1º e 2º Semestres e Substitutiva;

c) Utilizar JPasswordField no campo de digitação da senha, para a realização do Login. Só deverão ser

apresentadas as informações relativas ao aluno que realizou o Login com sucesso;

d) Após o Login, utilizar JComboBox para a escolha do período desejado, para a visualização dos dados:

1º Semestre, 2º Semestre ou Substitutiva; e

e) Apresentar um relatório, em tela, contendo como cabeçalho: RA, Nome do Aluno e Período Escolhido.

Utilizar JTable para apresentar o restante das informações, relativas às Matérias, Faltas e Médias, do

período escolhido (utilizar todas as matérias existentes em seu curso).

(2)

Anexos:

// Fig. 11.21: ComboBoxFrame.java

// Using a JComboBox to select an image to display. import java.awt.FlowLayout; import java.awt.event.ItemListener; import java.awt.event.ItemEvent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JComboBox; import javax.swing.Icon; import javax.swing.ImageIcon;

public class ComboBoxFrame extends JFrame {

private JComboBox imagesJComboBox; // combobox to hold names of icons private JLabel label; // label to display selected icon

private String names[] = { "bug1.gif", "bug2.gif", "travelbug.gif", "buganim.gif" }; private Icon icons[] = {

new ImageIcon( getClass().getResource( names[ 0 ] ) ),

new ImageIcon( getClass().getResource( names[ 1 ] ) ),

new ImageIcon( getClass().getResource( names[ 2 ] ) ),

new ImageIcon( getClass().getResource( names[ 3 ] ) )

};

// ComboBoxFrame constructor adds JComboBox to JFrame public ComboBoxFrame()

{

super( "Testing JComboBox" );

setLayout( new FlowLayout() ); // set frame layout

imagesJComboBox = new JComboBox( names ); // set up JComboBox

imagesJComboBox.setMaximumRowCount( 3 ); // display three rows

imagesJComboBox.addItemListener (

new ItemListener() // anonymous inner class {

// handle JComboBox event

public void itemStateChanged( ItemEvent event ) {

// determine whether check box selected

if ( event.getStateChange() == ItemEvent.SELECTED )

label.setIcon( icons[ imagesJComboBox.getSelectedIndex() ] );

} // end method itemStateChanged

} // end anonymous inner class

); // end call to addItemListener

add( imagesJComboBox ); // add combobox to JFrame

label = new JLabel( icons[ 0 ] ); // display first icon

add( label ); // add label to JFrame

} // end ComboBoxFrame constructor

} // end class ComboBoxFrame

// ---

// Fig. 11.22: ComboBoxTest.java // Testing ComboBoxFrame.

import javax.swing.JFrame;

public class ComboBoxTest {

public static void main( String args[] ) {

ComboBoxFrame comboBoxFrame = new ComboBoxFrame();

comboBoxFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

comboBoxFrame.setSize( 350, 150 ); // set frame size

comboBoxFrame.setVisible( true ); // display frame } // end main

(3)

// Fig. 11.9: TextFieldFrame.java // Demonstrating the JTextField class. import java.awt.FlowLayout; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.JPasswordField; import javax.swing.JOptionPane;

public class TextFieldFrame extends JFrame {

private JTextField textField1; // text field with set size

private JTextField textField2; // text field constructed with text private JTextField textField3; // text field with text and size private JPasswordField passwordField; // password field with text

// TextFieldFrame constructor adds JTextFields to JFrame public TextFieldFrame()

{

super( "Testing JTextField and JPasswordField" ); setLayout( new FlowLayout() ); // set frame layout

// construct textfield with 10 columns

textField1 = new JTextField( 10 );

add( textField1 ); // add textField1 to JFrame

// construct textfield with default text

textField2 = new JTextField( "Enter text here" );

add( textField2 ); // add textField2 to JFrame

// construct textfield with default text and 21 columns

textField3 = new JTextField( "Uneditable text field", 21 ); textField3.setEditable( false ); // disable editing

add( textField3 ); // add textField3 to JFrame

// construct passwordfield with default text

passwordField = new JPasswordField( "Hidden text" );

add( passwordField ); // add passwordField to JFrame

// register event handlers

TextFieldHandler handler = new TextFieldHandler(); textField1.addActionListener( handler ); textField2.addActionListener( handler ); textField3.addActionListener( handler ); passwordField.addActionListener( handler );

} // end TextFieldFrame constructor

// private inner class for event handling

private class TextFieldHandler implements ActionListener { // process text field events

public void actionPerformed( ActionEvent event ) {

String string = ""; // declare string to display

// user pressed Enter in JTextField textField1

if ( event.getSource() == textField1 )

string = String.format( "textField1: %s", event.getActionCommand() );

// user pressed Enter in JTextField textField2

else if ( event.getSource() == textField2 )

string = String.format( "textField2: %s", event.getActionCommand() );

// user pressed Enter in JTextField textField3

else if ( event.getSource() == textField3 )

string = String.format( "textField3: %s", event.getActionCommand() );

// user pressed Enter in JTextField passwordField

else if ( event.getSource() == passwordField ) string = String.format(

"passwordField: %s", new String( passwordField.getPassword() )

);

// display JTextField content

JOptionPane.showMessageDialog( null, string ); } // end method actionPerformed

} // end private inner class TextFieldHandler

(4)

// Fig. 11.10: TextFieldTest.java // Testing TextFieldFrame.

import javax.swing.JFrame;

public class TextFieldTest {

public static void main( String args[] ) {

TextFieldFrame textFieldFrame = new TextFieldFrame();

textFieldFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

textFieldFrame.setSize( 325, 100 ); // set frame size

textFieldFrame.setVisible( true ); // display frame } // end main

} // end class TextFieldTest

// --- // Extra: PhoneBook.java // Testing JTable. import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable;

public class PhoneBook extends JFrame { JPanel background; JTable table; JScrollPane bar; Object [][] data = { {"20080001", "Antonio", "11 98888-0001", "[email protected]"}, {"20080002", "José", "11 98111-3333", "[email protected]"}, {"20080003", "Ricardo", "13 9876-5432", "[email protected]"}, {"20080004", "Roberto", "11 98765-4321", "[email protected]"}, {"20080005", "Valter", "11 2666-6666", "[email protected]"} };

String [] column = {"RA", "Nome", "Telefone", "Email"};

public PhoneBook() {

super ("Contatos");

} // end PhoneBook constructor

public void makeWindow() {

background = new JPanel();

background.setLayout(new GridLayout(1, 1)); table = new JTable(data, column);

bar = new JScrollPane(table); background.add(bar); getContentPane().add(background); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(500, 125); setVisible(true); } // end method makeWindow

public static void main(String[] args) {

PhoneBook pb1 = new PhoneBook(); pb1.makeWindow();

} // end main

(5)

/************************************************************************* * (C) Copyright 1992-2005 by Deitel & Associates, Inc. and * * Pearson Education, Inc. All Rights Reserved. * * * * DISCLAIMER: The authors and publisher of this book have used their * * best efforts in preparing the book. These efforts include the * * development, research, and testing of the theories and programs * * to determine their effectiveness. The authors and publisher make * * no warranty of any kind, expressed or implied, with regard to these * * programs or to the documentation contained in these books. The authors * * and publisher shall not be liable in any event for incidental or * * consequential damages in connection with, or arising out of, the * * furnishing, performance, or use of these programs. * *************************************************************************/

Referências

Documentos relacionados

O Conselho Federal de Psicologia (CFP) apresenta à categoria e à sociedade em geral o documento de Referências Técnicas para a Prática de Psicólogas(os) em Programas de atenção

Alguns aspectos comparativos entre hemoglobinas de duas espécies de peixes do rio Amazonas foram aná- lisadas, com a finalidade de estabelecer as bases

A ação de restauro, ademais, e pela mesma exigência que impõe o respeito da complexa historicidade que compete à obra de arte, não se deverá colocar como secreta e quase fora

O indicador 6.1 (Organização do espaço e recursos materiais) obteve a terceira maior frequência total de estratégias (45). Entre as estratégias que mais apareceram

Ainda que a IUCN tenha estabelecido na 12° Assembleia Geral no Zaire em 1975 que ao ser estabelecida uma área protegida não poderia ocorrer transformações de estilo de vida e nem a

Considerando o objetivo geral do artigo, ou seja, verificar a possibilidade de incrementar melhorias no fluxo informacional entre os setores Comercial e de Planejamento e Controle

Porém, a ABNT NBR 6118 (2014) passou a propor os limites nos valores das regiões nodais para o dimensionamento desses elementos estruturais. Essas indicações normativas

Os serviços da camionagem no Grande Porto Partindo agora de uma leitura de conjunto, na qual separamos os concessionários das empresas privadas segundo o tipo de serviço que presta