O documento apresenta os tópicos da aula sobre Java Swing, incluindo uma introdução ao projeto Swing, look-and-feel, pacotes e componentes Swing como JButton, JLabel, JCheckbox e JRadioButton.
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosDaniel Brandão
Função é um trecho de código com um objetivo específico, encapsulado sob uma estrutura única que recebe parâmetros e retorna um valor. Aqui aprenderemos a usar essa estrutura utilizando a linguagem PHP.
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosDaniel Brandão
Função é um trecho de código com um objetivo específico, encapsulado sob uma estrutura única que recebe parâmetros e retorna um valor. Aqui aprenderemos a usar essa estrutura utilizando a linguagem PHP.
Advanced CSS
by: Alexandra Vlachakis
Sandy Creek High School, Fayette County Schools
Slide Show correlates Georgia Deparment of Edcuation Career and Technology PATHWAY: Interactive Media
COURSE: Advanced Web Design
UNIT 6: BCS-AWD-6 Advanced CSS
A hibernate tutorial for beginners. It describe the hibernate concepts in a lucid manner and and test project(User application with database) to get hands on over the same.
The presentation introduces the reader to the principles of user interaction in Android applications. First, events are introduced, together with the related concepts of callbacks and event listeners. It follows a discussion on how to handle events in a declarative fashion via the XML layout file.
Advanced CSS
by: Alexandra Vlachakis
Sandy Creek High School, Fayette County Schools
Slide Show correlates Georgia Deparment of Edcuation Career and Technology PATHWAY: Interactive Media
COURSE: Advanced Web Design
UNIT 6: BCS-AWD-6 Advanced CSS
A hibernate tutorial for beginners. It describe the hibernate concepts in a lucid manner and and test project(User application with database) to get hands on over the same.
The presentation introduces the reader to the principles of user interaction in Android applications. First, events are introduced, together with the related concepts of callbacks and event listeners. It follows a discussion on how to handle events in a declarative fashion via the XML layout file.
Graphics Capabilities of Java PlatformMichel Alves
This report aims to show the functioning of the graphics capabilities of the platform JAVA programming offers, detailing its implementation, communication with the operating system, classes available and their use. Both have tackled Swing AWT as: its main features, drawing mode, addressing performance and portability, as well as their differences. Emphasis will be given to Swing, due to new components offered that solve some problems encountered in the use of AWT. Are some examples of panels, using Swing components of the package.
Arquitetura de apis gráficas do java dtv - lwuit e dtv-uiErisvaldo Junior
Apresentação sobre as APIs Gráficas que compõem o JavaDTV: LWUIT e DTV-UI.
JavaDTV é uma especificação de TV Digital que é parte integrante do Ginga-J, subsistema para aplicações procedurais em Java do Ginga (Middleware brasileiro de TV Digital).
Palestra sobre JavaFX 1.2 apresentada no Sun Day da II Semana da Computação da UFPB. Apresenta uma introdução sobre JavaFX e as novidades do JavaFX 1.2.
Apresentação dos principais recursos da nova versão do Moodle (2.0).
Apresentação realizada durante a quarta edição do MoodleMoot Brazil, em 2010, na Universidade Presbiteriana Mackenzie.
Apresentação dos principais recursos da nova versão do Moodle (2.0).
Apresentação realizada durante a quarta edição do MoodleMoot Brazil, em 2010, na Universidade Presbiteriana Mackenzie.
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e AdministrativosDaniel Arndt Alves
Discussão sobre modelos de integração do ambiente Moodle com outros sistemas, para Controle Acadêmico e Financeiro dos estudantes.
Apresentação realizada durante a terceira edição do MoodleMoot Brazil, em 2009, na Universidade Presbiteriana Mackenzie.
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
proposta curricular da educação de jovens e adultos da disciplina geografia, para os anos finais do ensino fundamental. planejamento de unidades, plano de curso da EJA- GEografia
para o professor que trabalha com a educação de jovens e adultos- anos finais do ensino fundamental.
proposta curricular para educação de jovens e adultos- Língua portuguesa- anos finais do ensino fundamental (6º ao 9º ano). Planejamento de unidades letivas para professores da EJA da disciplina língua portuguesa- pode ser trabalhado nos dois segmentos - proposta para trabalhar com alunos da EJA com a disciplina língua portuguesa.Sugestão de proposta curricular da disciplina português para turmas de educação de jovens e adultos - ensino fundamental. A proposta curricular da EJa lingua portuguesa traz sugestões para professores dos anos finais (6º ao 9º ano), sabendo que essa modalidade deve ser trabalhada com metodologias diversificadas para que o aluno não desista de estudar.
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Betel, Ordenança para buscar a paz e fazer o bem, 2Tr24, Pr Henrique, EBD NA TV, 2° TRIMESTRE DE 2024, ADULTOS, EDITORA BETEL, TEMA, ORDENANÇAS BÍBLICAS, Doutrina Fundamentais Imperativas aos Cristãos para uma vida bem-sucedida e de Comunhão com DEUS, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Comentários, Bispo Abner Ferreira, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
Projeto de articulação curricular:
"aLeR+ o Ambiente - Os animais são nossos amigos" - Seleção de poemas da obra «Bicho em perigo», de Maria Teresa Maia Gonzalez
Atividade - Letra da música "Tem Que Sorrir" - Jorge e MateusMary Alvarenga
A música 'Tem Que Sorrir', da dupla sertaneja Jorge & Mateus, é um apelo à reflexão sobre a simplicidade e a importância dos sentimentos positivos na vida. A letra transmite uma mensagem de superação, esperança e otimismo. Ela destaca a importância de enfrentar as adversidades da vida com um sorriso no rosto, mesmo quando a jornada é difícil.
Aula 2 - 6º HIS - Formas de registro da história e da produção do conheciment...
Java Swing
1. Universidade Presbiteriana Mackenzie
Aula 2: Java Swing
Prof. Ms. Daniel Arndt Alves
Faculdade de Computação e Informática
Linguagem de
Programação II
Daniel Arndt Alves Java Swing 1
2. Tópicos da Aula
• Introdução ao projeto Swing
• Look-and-Feel
• Pacote javax.swing
• Componentes Swing
– JButton
– JLabel
– JCheckbox
– JRadioButton
Daniel Arndt Alves Java Swing 2
5. Projeto Swing
Projeto Swing é parte do JFC, que implementa
um novo conjunto de elementos de interface
com usuário com mecanismo look-and-feel
embutido.
É baseado no JDK 1.1 Lightweight UI
Framework, um ambiente que tornou as
interfaces menos pesadas e mais adaptáveis.
Daniel Arndt Alves Java Swing 5
6. Look and Feel
Permite alterar a visualização para simular a
aparência dos seguintes sistemas de janelas:
• Java ( Metal )
• CDE/Motif
• Windows
• MacOS
Daniel Arndt Alves Java Swing 6
8. Look and Feel CDE/Motif
Daniel Arndt Alves Java Swing 8
9. Look and Feel Windows
Daniel Arndt Alves Java Swing 9
10. Look and Feel MacOS
Daniel Arndt Alves Java Swing 10
11. Pacotes swing
A coleção swing é formada de 17 pacotes de classes,
identificados pela inicial javax:
javax.swing javax.swing.border
javax.swing.border javax.swing.colorchooser
javax.swing.event javax.swing.filechooser
javax.swing.plaf javax.swing.plaf.basic
javax.swing.plaf.metal javax.swing.plaf.multi
javax.swing.table javax.swing.text
javax.swing.text.html javax.swing.text.rtf
javax.swing.tree javax.swing.undo
javax.accessibility
Daniel Arndt Alves Java Swing 11
12. Pacote javax.swing
Pacote de mais alto nível no swing. Consiste de:
• componentes
• adaptadores
• modelos de componentes
• interfaces para delegação e para modelos
Daniel Arndt Alves Java Swing 12
13. Pacote javax.swing.border
Declara a interface Border e outras classes, que
definem estilos de renderização de bordas
específicos.
Daniel Arndt Alves Java Swing 13
15. Pacote javax.swing.event
Pacotes para tipos de eventos específicos para
swing e listeners.
Além dos tipos de eventos do pacote
java.awt.event, os componentes swing podem
gerar seus próprios tipos de eventos.
Daniel Arndt Alves Java Swing 15
17. Pacotes javax.swing.plaf.*
Os pacotes pluggable look-and-feel(plaf) as
classes que implementam os diferentes
aspectos de look-and-feel para os componentes
Swing.
Algumas destas classes estão localizadas em
subpacotes específicos (basic, metal e multi) e
outras diretamente no pacote
java.swing.plaf.
Daniel Arndt Alves Java Swing 17
19. Pacote javax.swing.text
Contém as classes de suporte para o ambiente de
documentos do swing.
Por exemplo, dá suporte básico para documentos
no formato:
• HTML
• RTF
Daniel Arndt Alves Java Swing 19
20. Pacote javax.swing.text.html
Contém as classes de suporte para:
• renderizador da linguagem HTML 3.2
• parser para esta mesma versão
Daniel Arndt Alves Java Swing 20
21. Pacote javax.swing.text.rtf
Contém as classes de suporte para um
renderizador básico do formato de texto RTF (
Rich Text Format ).
Exemplos de programas conhecidos que geram
tal formato:
• WordPad
• Microsoft Word
Daniel Arndt Alves Java Swing 21
24. Pacote javax.acessibility
Disponibiliza classes e interfaces que funcionam
como elementos intermediários entre os
elementos de interface swing e tecnologias de
acesso interativas, tais como vídeos para
deficientes visuais (braile).
Daniel Arndt Alves Java Swing 24
25. Componentes Swing
Existe uma quantidade bem variada de
componentes disponibilizados pelos pacotes
javax.swing.
Alguns destes componentes são muito parecidos
com os componentes AWT (algumas classes
simplesmente acrescentam J no nome da classe
AWT). Outros, porém, não encontram
similares no AWT.
Daniel Arndt Alves Java Swing 25
26. JButton
Os botões em Swing são instanciados com base
nesta classe. Adicionalmente ao simples
rótulos, o JButton permite:
• ícones nos botões
• bordas nos botões
• botões com cantos arredondados
Daniel Arndt Alves Java Swing 26
30. JButton (Exemplo 2)
public class ButtonPanel
extends JPanel {
public ButtonPanel() {
Icon tigerIcon = new ImageIcon("SmallTiger.gif");
JButton myButton = new JButton("Tiger",
tigerIcon);
add(myButton);
}
}
Daniel Arndt Alves Java Swing 30
31. JLabel
Os rótulos em Swing também são similares ao
AWT. Porém, permitem:
• ícones junto com os rótulos
• alterar a posição relativa horizontal e vertical
do texto em relação ao ícone
Daniel Arndt Alves Java Swing 31
33. JLabel (Exemplo)
public class LabelPanel extends JPanel {
public LabelPanel() {
JLabel plainLabel = new JLabel("Plain Small Label");
add(plainLabel);
JLabel fancyLabel = new JLabel("Fancy Big Label");
Font fancyFont = new Font("Serif", Font.BOLD |
Font.ITALIC, 32);
fancyLabel.setFont(fancyFont);
Icon tigerIcon = new ImageIcon("SmallTiger.gif");
fancyLabel.setIcon(tigerIcon);
fancyLabel.setHorizontalAlignment(JLabel.RIGHT);
add(fancyLabel);
}
}
Daniel Arndt Alves Java Swing 33
34. JCheckbox
Esta classe é similar à classe Checbox do
java.awt.
A principal diferença reside no fato da
possibilidade de utilização de imagens para
indicar o estado de seleção.
Daniel Arndt Alves Java Swing 34
36. JCheckbox (Exemplo)
public class CheckboxPanel extends JPanel {
Icon unchecked = new ToggleIcon (false);
Icon checked = new ToggleIcon (true);
// ToggleIcon é a classe que desenha a caixa de seleção
public CheckboxPanel() {
setLayout(new GridLayout(2, 1));
JCheckBox cb1 = new JCheckBox("Choose Me", true);
cb1.setIcon(unchecked);
cb1.setSelectedIcon(checked);
JCheckBox cb2 = new JCheckBox("No Choose Me", false);
cb2.setIcon(unchecked);
cb2.setSelectedIcon(checked);
add(cb1); add(cb2);
}
}
Daniel Arndt Alves Java Swing 36
37. JRadioButton
Diferentemente do pacote java.awt, o pacote
javax.swing já possui um componente
para botões do tipo radio (seleção única dentro
de um grupo).
Cada grupo é vinculado a uma instância da
classe ButtonGroup.
Daniel Arndt Alves Java Swing 37
43. JToggleButton (Exemplo)
public class ToggleButtonPanel extends JPanel {
public ToggleButtonPanel() {
setLayout(new GridLayout(4,1, 10, 10));
add (new JToggleButton ("Fe"));
add (new JToggleButton ("Fi"));
add (new JToggleButton ("Fo"));
add (new JToggleButton ("Fum"));
}
}
Daniel Arndt Alves Java Swing 43
44. JScrollPane
Consiste de uma janela que permite gerenciar
automaticamente o rolamento horizontal e
vertical de seu contéudo.
Existe um componente similar em AWT
chamado ScrollPane.
Daniel Arndt Alves Java Swing 44
46. JScrollPane (Exemplo)
public class ScrollPanel extends JPanel {
public ScrollPanel() {
setLayout(new BorderLayout());
Icon bigTiger = new ImageIcon("BigTiger.gif");
JLabel tigerLabel = new JLabel(bigTiger);
JScrollPane scrollPane = new
JScrollPane(tigerLabel);
add(scrollPane, BorderLayout.CENTER);
}
}
Daniel Arndt Alves Java Swing 46
47. JTextComponent
É uma classe de texto geral, que contém todos os
detalhes esperados de um editor de textos. Algumas
subclasses interessantes desta classe são:
• JTextField
• JTextArea
• JEditorPane
• JPasswordField
• JTextPane
Daniel Arndt Alves Java Swing 47
48. JTextField, JTextArea e JTextPane
São classes similares ao TextField e
TextArea encontrados no AWT. A classe
JTextArea pode ser incluída dentro de um
JScrollPane para rolagem automática.
A classe JTextPane é um poderoso editor de
textos que suporta texto formatado, quebra de
palavras e exibição de imagens.
Daniel Arndt Alves Java Swing 48
52. JPasswordField
Esta classe permite implementar a
funcionalidade de não se exibir diretamente os
caracteres digitados, subtituindo-os por
caracteres de máscara. O caracter de máscara
padrão é o asterisco (*). Porém, usando o
método setEchoChar(char c), pode-se
conseguir o caracter desejado para a máscara.
Daniel Arndt Alves Java Swing 52
54. JPasswordField (Exemplo)
class PasswordPanel
extends JPanel {
PasswordPanel() {
JPasswordField pass1 = new JPasswordField(20);
JPasswordField pass2 = new JPasswordField(20);
pass2.setEchoChar ('?');
add(pass1);
add(pass2);
}
}
Daniel Arndt Alves Java Swing 54
55. JEditorPane
Classe especializada de JTextComponent
para exibição e edição de marcadores HTML
3.2 e alguns outros formatos tais como RTF
(Rich Text Format).
No caso do HTML, não se trata de um navegador
completo, mas possui funcionalidades
complexas de exibição de texto e figuras.
Daniel Arndt Alves Java Swing 55
59. Navegação nos hyperlinks do JEditorPane
Caso se quisesse navegar nos hyperlinks
definidos dentro da página exibida pelo
JEditorPane, precisa-se adicionar um listener
para hyperlinks com o método
addHyperlinkListener
Daniel Arndt Alves Java Swing 59
60. Exemplo
...
jt.setEditable(false);
jt.addHyperlinkListener(new HyperlinkListener () {
public void hyperlinkUpdate(final HyperlinkEvent e) {
if (e.getEventType() ==
HyperlinkEvent.EventType.ACTIVATED)
{
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// Salve a página corrente
Document doc = jt.getDocument();
Daniel Arndt Alves Java Swing 60
62. Ação no JTextField
Caso se quisesse acessar diretamente uma página
quando se apertasse ENTER do JTextField
do exemplo, poder-se-ia implementar um
ActionListener para o componente.
A atribuição ao componente seria feita com o
método
addActionListener
Daniel Arndt Alves Java Swing 62
64. JScrollBar
A classe JScrollBar oferece uma
implementação do ScrollBar encontrado
no AWT.
Daniel Arndt Alves Java Swing 64
65. JScrollBar (Exemplo)
public class ScrollbarPanel
extends JPanel {
public ScrollbarPanel() {
setLayout(new BorderLayout());
JScrollBar scrollBar1 =
new JScrollBar (JScrollBar.VERTICAL, 0, 5, 0,
100);
add(scrollBar1, BorderLayout.EAST);
JScrollBar scrollBar2 =
new JScrollBar (JScrollBar.HORIZONTAL, 0, 5, 0, 100);
add(scrollBar2, BorderLayout.SOUTH);
}
}
Daniel Arndt Alves Java Swing 65
66. JSlider
Possui a mesma funcionalidade da JScrollBar.
Porém, adiciona dois novos detalhes:
• permite adicionar marcas ao lado das barras
• permite colocar uma borda (Border) ao lado da barra
• permite colocar rótulos ao lado das barras
Daniel Arndt Alves Java Swing 66
71. JSlider (Exemplo 2)
public class SliderPanel2 extends JPanel {
public SliderPanel2() {
setLayout(new BorderLayout());
JSlider right, bottom;
right = new JSlider(JSlider.VERTICAL, 1, 9, 3);
Hashtable h = new Hashtable();
h.put (new Integer (1), new JLabel("Mercury"));
h.put (new Integer (2), new JLabel("Venus"));
h.put (new Integer (3), new JLabel("Earth"));
h.put (new Integer (4), new JLabel("Mars"));
h.put (new Integer (5), new JLabel("Jupiter"));
h.put (new Integer (6), new JLabel("Saturn"));
Daniel Arndt Alves Java Swing 71
72. JSlider (Exemplo 2)
h.put (new Integer (7), new JLabel("Uranus"));
h.put (new Integer (8), new JLabel("Neptune"));
h.put (new Integer (9), new JLabel("Pluto"));
right.setLabelTable (h);
right.setPaintLabels (true);
bottom = new JSlider(JSlider.HORIZONTAL, 0, 100, 25);
bottom.setMajorTickSpacing (10);
bottom.setPaintLabels (true);
add(right, BorderLayout.EAST);
add(bottom, BorderLayout.SOUTH);
}
}
Daniel Arndt Alves Java Swing 72
73. JProgressBar
Permite mostrar, em uma barra de progresso, refletir o
andamento de uma operação.
Geralmente esta operação é programada através de um
processo concorrente (thread) com o processo de
execução principal do java (Thread main).
Daniel Arndt Alves Java Swing 73
75. JProgressBar (Exemplo)
A programação de uma instância da JProgressBar
é bem simples:
1. Inicializar a barra
2. Instanciar um thread
3. Para cada operação a ser realizada, invocar o thread
e esperar
Daniel Arndt Alves Java Swing 75
76. Inicialização da barra
JProgressBar progressBar = new JProgressBar();
progressBar.setMinimum(0);
progressBar.setMaximum(quant_operações);
Daniel Arndt Alves Java Swing 76
77. Instanciar Thread
Runnable runner = new Runnable() {
public void run() {
int value = progressBar.getValue();
progressBar.setValue(value+1);
}
};
Daniel Arndt Alves Java Swing 77
79. JComboBox
A classe JComboBox trabalha como a classe Choice
do AWT, porém altera alguns nomes de métodos e
adiciona a funcionalidade de edição das opções.
Daniel Arndt Alves Java Swing 79
83. JList
A classe Jlist é similar à classe List do AWT,
exceto que não suporta rolamento (scrolling)
diretamente.
Assim, ela é construída conjuntamente com a classe
JScrollPane.
Daniel Arndt Alves Java Swing 83
85. JList (Exemplo)
public class ListPanel extends JPanel {
String label [] = {"Cranberry", "Orange",
"Banana", "Kiwi", "Blueberry",
"Pomegranate", "Apple", "Pear",
"Watermelon", "Raspberry", "Snozberry"
};
public ListPanel() {
setLayout (new BorderLayout());
JList list = new JList(label);
JScrollPane pane = new JScrollPane(list);
add(pane, BorderLayout.CENTER);
}
}
Daniel Arndt Alves Java Swing 85
86. Menus
Assim como no AWT, existem as seguintes classes para
trabalhar com menus:
• JMenuItem
• JCheckBoxMenuItem
• JMenu
• JMenuBar
Daniel Arndt Alves Java Swing 86
87. Menus
Além destas classes, existem duas outras
funcionalidades que não encontram similares no
AWT:
• JRadioButtonMenuItem: providencia
checkboxes mutuamente exclusivos num menu,
quando colocados dentro de um ButtonGroup
• JMenuItem : permite a associação de um ícone
Daniel Arndt Alves Java Swing 87
90. Código do Exemplo
public class MenuTester extends JFrame
implements ActionListener {
public void actionPerformed (ActionEvent e) {
System.out.println (e.getActionCommand());
}
public MenuTester() {
super ("Menu Example");
JMenuBar jmb = new JMenuBar();
JMenu file = new JMenu ("File");
JMenuItem item;
Daniel Arndt Alves Java Swing 90
91. Código do Exemplo
file.add (item = new JMenuItem ("New"));
item.addActionListener (this);
file.add (item = new JMenuItem ("Open"));
item.addActionListener (this);
file.addSeparator();
file.add (item = new JMenuItem ("Close"));
item.addActionListener (this);
jmb.add (file);
Daniel Arndt Alves Java Swing 91
92. Código do Exemplo
JMenu edit = new JMenu ("Edit");
edit.add (item = new JMenuItem ("Copy"));
item.addActionListener (this);
Icon tigerIcon = new ImageIcon("SmallTiger.gif");
edit.add (item = new JMenuItem ("Woods", tigerIcon));
item.setHorizontalTextPosition (JMenuItem.LEFT);
item.addActionListener (this);
edit.add (item = new JMenuItem ("Woods", tigerIcon));
item.addActionListener (this);
jmb.add (edit);
Daniel Arndt Alves Java Swing 92
93. Código do Exemplo
JMenu choice = new JMenu ("Choices");
JCheckBoxMenuItem check = new JCheckBoxMenuItem ("Toggle");
check.addActionListener (this);
choice.add (check);
ButtonGroup rbg = new ButtonGroup();
JRadioButtonMenuItem rad = new JRadioButtonMenuItem ("Choice 1");
choice.add (rad);
rbg.add (rad);
rad.addActionListener (this);
rad = new JRadioButtonMenuItem ("Choice 2");
choice.add (rad);
rbg.add (rad);
Daniel Arndt Alves Java Swing 93
94. Código do Exemplo
rad.addActionListener (this);
rad = new JRadioButtonMenuItem ("Choice 3");
choice.add (rad);
rbg.add (rad);
rad.addActionListener (this);
jmb.add (choice);
setJMenuBar (jmb);
}
}
Daniel Arndt Alves Java Swing 94
95. JSeparator
Classe que permite separar elementos do menu.
Pode ser colocada num menu através do método
addSeparator()
Daniel Arndt Alves Java Swing 95