// Scribble1.java - Modelo de tratamento de eventos 1.1
|
|
- Maria de Lourdes Affonso Salgado
- 8 Há anos
- Visualizações:
Transcrição
1 Exemplos: // Scribble1.java - Modelo de tratamento de eventos 1.1 import java.applet.*; import java.awt.*; import java.awt.event.*; public class Scribble1 extends Applet implements MouseListener, MouseMotionListener { private int x, y; Graphics g; public void init() { g = getgraphics(); addmouselistener(this); addmousemotionlistener(this); public void mousepressed(mouseevent e) { x = e.getx(); y = e.gety(); public void mousedragged(mouseevent e) { int x1= e.getx(); int y1= e.gety(); g.drawline(x, y, x1, y1); x = x1; y = y1; // Metodos nao usados do interface MouseListener: public void mousereleased(mouseevent e) {; public void mouseclicked(mouseevent e) {; public void mouseentered(mouseevent e) {; public void mouseexited(mouseevent e) {; // Metodos nao usados do interface MouseMotionListener: public void mousemoved(mouseevent e) {; // Scribble2.java - Objectos listeneres (2) pertencem a classes internas import java.applet.*; import java.awt.*; import java.awt.event.*; public class Scribble2 extends Applet { private int x, y; public void init() { addmouselistener(new ListenerMA()); addmousemotionlistener(new ListenerMMA()); 146
2 class ListenerMA extends MouseAdapter { public void mousepressed(mouseevent e) { x = e.getx(); y = e.gety(); class ListenerMMA extends MouseMotionAdapter { public void mousedragged(mouseevent e) { Graphics g = getgraphics(); int x1= e.getx(); int y1= e.gety(); g.drawline(x, y, x1, y1); x = x1; y = y1; // Scribble3.java - Objectos listeneres (2) pertencem a classes internas anónimas import java.applet.*; import java.awt.*; import java.awt.event.*; public class Scribble3 extends Applet { private int x, y; public void init() { addmouselistener(new MouseAdapter() { public void mousepressed(mouseevent e) { x = e.getx(); y = e.gety(); ); addmousemotionlistener(new MouseMotionAdapter() { public void mousedragged(mouseevent e) { Graphics g = getgraphics(); int x1= e.getx(); int y1= e.gety(); g.drawline(x, y, x1, y1); x = x1; y = y1; ); 147
3 // Scribble4.java - Pode-se alterar a visibilidade do applet import java.applet.*; import java.awt.*; import java.awt.event.*; import java.util.vector; public class Scribble4 extends Applet { private int x, y; Vector linhas = new Vector(100, 100); Vector lincorrente; public void init() { addmouselistener(new ListenerMA()); addmousemotionlistener(new ListenerMMA()); class ListenerMA extends MouseAdapter { public void mousepressed(mouseevent e) { lincorrente = new Vector(100, 100); linhas.addelement(lincorrente); lincorrente.addelement( new Point(e.getX(), e.gety())); class ListenerMMA extends MouseMotionAdapter { public void mousedragged(mouseevent e) { Graphics g = getgraphics(); int x1= e.getx(); int y1= e.gety(); Point p = (Point) lincorrente.lastelement(); g.drawline(p.x, p.y, x1, y1); lincorrente.addelement(new Point(x1,y1)); public void paint(graphics g) { for (int j=0; j < linhas.size(); j++) { lincorrente = (Vector) linhas.elementat(j); Point p = (Point) lincorrente.elementat(0); for (int i=1; i<lincorrente.size(); i++) { Point p1 = (Point) lincorrente.elementat(i); g.drawline(p.x, p.y, p1.x, p1.y); p = p1; 148
4 Componentes Gráficos 1. Label Label string de texto não editável utilizada normalmente como legenda ou título para outros elementos gráficos Construtores: Label() cria um label vazio. Label(String s) cria um label com a string passada como parâmetro. Label(String s, int alignment) cria um label com a string passada como parâmetro e o alinhamento especificado que pode ser um dos seguintes valores: Label.LEFT, Label.CENTER, ou Label.RIGHT. Métodos que permitem obter os parâmetros de um label ou modificá-los: String gettext() void settext(string s) void setalignment(int alignment) retorna o texto do Label. coloca o texto do Label. coloca o alinhamento em: Label.LEFT, Label.CENTER, ou Label.RIGHT. Por omissão, um label alinha o texto no seu interior à esquerda. Para criar um objecto label pode-se utilizar o seguinte código: Label etiqueta; // cria uma variável. etiqueta = new Label( Texto1 ); // cria uma instância da classe Label. add(etiqueta); // método da classe Container que adiciona o label ao container. ou simplesmente o seguinte: add( new Label( Texto1 )); // cria uma instância da classe Label e adiciona-a ao applet O label é um componente que não gera eventos. 2. Button Button componente de interface com o utilizador que quando pressionado (ou seleccionado) com o rato desencadeia ( trigger ) uma determinada acção. Um botão gera um evento quando o utilizador clica o botão com o rato. Construtores: Button() - cria um botão sem label. Button(String s) - cria um botão com o label indicado no parâmetro. 149
5 Métodos que permitem obter os parâmetros de um botão ou modificá-los: String getlabel() - retorna o label do botão ou null se não possuir label. void setlabel(string s) - altera o label do botão para o valor do argumento especificado. Tratamento de Eventos Os eventos que ocorrem nos componentes gráficos de interface com o utilizador, permitem que o applet ou a aplicação reajam a entradas ( input ) do utilizador. Por exemplo, os botões usam eventos de acção que são desencadeados quando o botão é premido, não sendo necessário preocuparmo-nos com os eventos mouse down, e mouse up, nem onde estes eventos ocorrem desde que se prima e liberte o botão do rato em cima do componente gráfico botão. Exemplo: /* Construa uma applet com dois botões, iniciar e incrementar, para inicializar ou incrementar o valor de um contador mostrado num label. */ import java.awt.*; import java.awt.event.*; public class Contador extends java.applet.applet { Button incr, iniciar; Label mostra; int conta=0; public void init() { add(iniciar = new Button("Iniciar")); add(incr = new Button("Incrementar")); add(mostra = new Label(" "+0)); incr.addactionlistener(new TrataEv()); iniciar.addactionlistener(new TrataEv()); class TrataEv implements ActionListener { public void actionperformed(actionevent e) { Object botao = e.getsource(); if (botao == incr) conta++; else if (botao.equals(iniciar)) conta = 0; mostra.settext(" "+conta); 150
6 /* Construa uma applet que crie 3 botões. Cada botão muda a cor do fundo do applet para a cor designada no respectivo label. */ import java.awt.*; import java.awt.event.*; public class Cores extends java.applet.applet { Button verm, azul, verde; public void init() { setbackground(color.white); verm = new Button("Vermelho"); add(verm); verm.addactionlistener(new ProcessaBotao(Color.red)); azul = new Button("Azul"); add(azul); azul.addactionlistener(new ProcessaBotao(Color.blue)); verde = new Button("Verde"); add(verde); verde.addactionlistener(new ProcessaBotao(Color.green)); class ProcessaBotao implements ActionListener { Color cor; ProcessaBotao(Color c) { cor = c; public void actionperformed(actionevent e) { setbackground(cor); 151
7 3. Checkbox Checkbox componente gráfica de interface com o utilizador que tem 2 estados: checked ou unchecked (true ou false). Ao contrário dos botões, um Checkbox geralmente não desencadeia acções directas nas interfaces com o utilizador, mas é usado para indicar características opcionais de uma outra acção. Os Checkboxes podem ser usadas de 2 modos: Não exclusivos: dado um conjunto de Checkboxes qualquer um pode ser seleccionado. Exclusivas: dado um conjunto de Checkboxes só um pode ser seleccionado de cada vez. Este tipo de Checkboxes designam-se por radio boxes. Construtores dos Checkboxes não exclusivos: Checkbox() - cria um Checkbox vazio, não seleccionado. Checkbox(String s) - cria uma Checkbox tendo como label a string passada como parâmetro, inicialmente não seleccionado. Checkbox(String s, boolean state) - cria um Checkbox tendo como label a string passada como parâmetro e está seleccionado ou não conforme o valor do 2º argumento só Java 1.1. Métodos que permitem obter os parâmetros de um Checkbox ou modificá-los: void setstate(boolean state) coloca o estado do Checkbox no estado especificado no parâmetro. boolean getstate() - retorna um valor booleano representando o estado do Checkbox. void setlabel(string s) - coloca como label do Checkbox a string passada como parâmetro. String getlabel() - retorna o label da Checkbox ou null se não possuir label. Exemplo: Construa um applet que crie um textfield com o texto "Observe a mudança de estilo da fonte" e 2 checkboxes para mudar o estilo da fonte: um com o label "Bold" e outro com o label "Italic". Qualquer checkbox quando seleccionado deve resultar na aplicação desse estilo à fonte do textfield. import java.applet.applet; import java.awt.*; import java.awt.event.*; public class Checkbox1 extends Applet { Font f; TextField t; Checkbox bold, italic; 152
8 public void init() { t = new TextField( "Observe a mudança de estilo da fonte" ); f = new Font( "TimesRoman", Font.PLAIN, 14 ); t.setfont( f ); add( t ); bold = new Checkbox( "Bold" ); italic = new Checkbox( "Italic" ); add( bold ); add( italic ); TrataEv t = new TrataEv(); bold.additemlistener(t); italic.additemlistener(t); class TrataEv implements ItemListener { public void itemstatechanged( ItemEvent e ) { if (e.getsource() instanceof Checkbox) { int valbold = ( bold.getstate()? Font.BOLD : Font.PLAIN ); int valitalic = ( italic.getstate()? Font.ITALIC : Font.PLAIN ); f = new Font( "TimesRoman", valbold + valitalic, 14 ); t.setfont( f ); 4. Radio Buttons Radio Buttons componente gráfica de interface com o utilizador (GUI) constituído por um grupo de botões onde só um botão no grupo pode estar seleccionado. Seleccionando um qualquer botão força todos os outros botões do grupo a passarem ao estado não seleccionado. O nome radio buttons deriva dos antigos botões de selecção manual das estações de rádio. Quando se pressionava um botão, todos os outros saltavam e ficavam não seleccionados. Para criar um conjunto de radio buttons é necessário criar primeiro uma instância da classe CheckboxGroup: CheckboxGroup cbg = new CheckboxGroup(); 153
9 Em seguida criam-se radio buttons individuais, objectos da classe Checkbox, e adicionam-se ao conjunto. A criação de radio buttons individuais pertencentes a um determinado CheckboxGroup é efectuada pelo método: Checkbox(String s, boolean state, CheckboxGroup cbg) Estes construtores criam um radio button com o label s, pertencente ao CheckboxGroup cbg, e no estado seleccionado ou não conforme o valor do respectivo argumento. add(new Checkbox( Yes, cbg, true); add(new Checkbox( No, cbg, false); O último botão true a ser adicionado ao grupo será o seleccionado. Se por outro lado, se criar um conjunto de botões todos não seleccionados, inicialmente aparecerão não seleccionados. Exemplo: Construa um applet que crie um textfield com o texto "Observe a mudança de fonte" e um grupo de 3 "radio buttons" para mudar a fonte para Courier ou TimesRoman ou Helvetica. import java.awt.*; import java.awt.event.*; public class CheckboxGroup1 extends java.applet.applet { Font f; TextField t; CheckboxGroup cbg; Checkbox courier, timesroman, helvetica; public void init() { t = new TextField( "Observe a mudança de fonte" ); f = new Font( "TimesRoman", Font.PLAIN, 14 ); t.setfont( f ); add( t ); cbg = new CheckboxGroup(); add(courier = new Checkbox("Courier", cbg, false)); add(timesroman = new Checkbox("TimesRoman", cbg, true)); add(helvetica = new Checkbox("Helvetica", cbg, false)); TrataEv t = new TrataEv(); courier.additemlistener(t); timesroman.additemlistener(t); helvetica.additemlistener(t); 154
10 class TrataEv implements ItemListener { public void itemstatechanged( ItemEvent e ) { String fonte; if (e.getsource() instanceof Checkbox) { if (courier.getstate()) fonte = "Courier"; else if (timesroman.getstate()) fonte = "TimesRoman"; else fonte = "Helvetica"; f = new Font(fonte, Font.PLAIN, 14 ); t.setfont( f ); 5. TextField TextField campo de texto constituído por uma linha de texto na qual o utilizador pode digitar texto a partir do teclado ou simplesmente usada para mostrar texto. Quando o utilizador digita Enter num TextField um evento ACTION_EVENT é gerado e o texto digitado pode ser usado no programa. A classe TextField assim como a classe TextArea derivam da classe TextComponent que por sua vez deriva da classe Component, a qual deriva directamente de Object. Object Component TextComponent TextField TextArea 155
11 Construtores: TextField() TextField(int cols) - constrói um objecto textfield vazio. - constrói um objecto textfield vazio com o número especificado de colunas. TextField(String s) - constrói um objecto textfield inicializado com a string s. TextField(String s, int cols)- constrói um objecto textfield inicializado com a string s e com o número especificado de colunas. Métodos: void setechochar(char c) - coloca o carácter c à medida que o utilizador digita no textfield. Útil para entrar passwords. Métodos da classe TextComponent herdados pela classe TextField: void seteditable(boolean b) boolean iseditable() void settext(string s) String gettext() String getselectedtext() int getselectionstart() int getselectionend() - coloca o textfield editável (true) ou não (false). - retorna um valor booleano indicando se o campo de texto é editável. - coloca o texto s no campo de texto. - retorna a string do texto do campo de texto. - retorna a string do texto seleccionado. - retorna a posição do primeiro carácter seleccionado do campo de texto. - retorna a posição do último carácter seleccionado do campo de texto. void select(int selectionstart, int selectionend) - efectua a selecção de texto entre os limites especificados. void selectall() - selecciona todo o texto do campo de texto. Exemplo: import java.awt.*; import java.awt.event.*; import java.applet.applet; public class TextField1 extends Applet { TextField msg1, msg2, password; String s; public void init() { s = "lp2"; msg1 = new TextField("Digite a password:"); msg1.seteditable(false); password = new TextField(12); password.setechochar('*'); 156
12 msg2 = new TextField(30); msg2.seteditable(false); add(msg1); add(password); add(msg2); password.addactionlistener(new TrataEv()); public class TrataEv implements ActionListener { public void actionperformed(actionevent evt) { if (evt.getsource() instanceof TextField) if (evt.getsource() == password) if (password.gettext().equals(s)) msg2.settext("acesso permitido"); else msg2.settext("password invalida."); 6. TextArea TextArea área de edição de texto que pode ter mais que uma linha e scrollbars horizontal e vertical. Quando o utilizador digita Enter numa textarea um evento ACTION_EVENT é gerado e o texto digitado pode ser usado no programa. A classe TextArea assim como a classe TextField derivam da classe TextComponent. Construtores: TextArea() - constrói um objecto textarea vazio. TextArea(int rows, int cols) - constrói um objecto textarea vazio com o número de linhas e colunas especificado. TextArea(String texto) - constrói um objecto textarea inicializado com o texto especificado. TextArea(String texto, int rows, int cols) - constrói um objecto textarea inicializado com o texto, linhas e colunas especificados. 157
13 Métodos: void appendtext (String s) - acrescenta a string s ao texto existente na área de texto. void inserttext (String s, int pos) - insere a string s, a partir da posição especificada, ao texto existente na área de texto. void replacetext (String s, int start, int end) - substitui a parte do texto, entre as posições especificadas, pela string s. void setcolumns(int cols) - coloca o número de colunas no valor especificado. void setrows(int rows) - coloca o número de linhas no valor especificado. int getcolumns() - retorna o número de colunas na área de texto. int getrows() - retorna o número de linhas na área de texto. Métodos da classe TextComponent herdados pela classe TextArea: void seteditable(boolean b) boolean iseditable() void settext(string s) String gettext() String getselectedtext() int getselectionstart() int getselectionend() void select(int selstart, int selend) void selectall() Exemplo: Construa uma applet que crie dois textarea (com 5 linhas por 20 colunas visíveis) tendo o primeiro algum texto. Mostre através do incremento de um contador sempre que o texto é editado. Um botão "copiar" deve permitir copiar o texto seleccionado para o 2.º TextArea. import java.awt.*; import java.awt.event.*; public class TextArea1 extends java.applet.applet { private TextArea t1, t2; private Button copiar; private Label l; private int cont; public void init() { setbackground(color.white); String s = "Texto para ilustrar o funcionamento de \n um objecto TextArea."; t1 = new TextArea(s, 5, 20); add(t1); t1.addtextlistener(new TrataEvText()); add(copiar = new Button("Copiar")); copiar.addactionlistener(new TrataEvAction()); t2 = new TextArea(5, 20); 158
14 add(t2); add(l=new Label(" 0")); class TrataEvAction implements ActionListener { public void actionperformed(actionevent e) { t2.settext(t1.getselectedtext()); class TrataEvText implements TextListener { public void textvaluechanged(textevent e) { cont ++; l.settext(" " + cont); 7. Choice Choice lists componentes que mostram uma lista de itens permitindo a selecção de apenas um. Para criar uma choice list é necessário criar um objecto da classe Choice e em seguida adicionar os elementos da lista a esse objecto. Construtor: Choice() - constrói um objecto da classe Choice. Métodos: void add (String s) int countitems () String getitem(int pos) void select (int pos) void select (String s) int getselectedindex() String getselecteditem() - adiciona um item à choice list. - retorna o número de elementos da choice list. - retorna a string correspondente ao item especificado. - coloca o respectivo item seleccionado. - coloca o respectivo item seleccionado. - retorna o índice correspondente ao item seleccionado. - retorna a string correspondente ao item seleccionado. 159
15 Exemplo: Construa um applet que crie um textfield com o texto "Observe a mudança de fonte" e um choice com 3 itens para mudar a fonte para Courier ou TimesRoman ou Helvetica. import java.awt.*; import java.awt.event.*; public class Choice1 extends java.applet.applet { Font f; TextField t; Choice fontes; public void init() { t = new TextField( "Observe a mudança de fonte", 30 ); f = new Font( "TimesRoman", Font.PLAIN, 14 ); t.setfont( f ); add( t ); fontes = new Choice(); fontes.add("courier"); fontes.add("timesroman"); fontes.add("helvetica"); add(fontes); fontes.additemlistener(new TrataEv()); class TrataEv implements ItemListener { public void itemstatechanged( ItemEvent e ) { String fonte; if (e.getsource() instanceof Choice) { Choice c = (Choice) e.getsource(); fonte = c.getselecteditem(); f = new Font(fonte, Font.PLAIN, 14 ); t.setfont( f ); 160
16 8. List Scrolling List é uma lista de itens dos quais apenas uma quantidade fixa é mostrada, permitindo efectuar scrolling com scrollbar se necessário. Uma scrolling list pode permitir múltipla selecção. Um único clique num item selecciona o item, se não estava seleccionado, ou coloca o item não seleccionado se estava seleccionado. Métodos: String getselecteditems() retorna um array de Strings com os itens seleccionados. Um duplo clique num item cria um evento de acção. No modelo de eventos 1.1 o evento criado é do tipo ActionEvent e o método invocado é actionperformed(). Exemplo: Crie uma scrolling list com 10 nomes de países tendo apenas 5 visíveis, que permita múltiplas selecções. Crie ainda um botão designado Copiar >>> e outra scrolling list vazia com 5 itens visíveis.quando pressionado o botão devem ser copiados os itens seleccionados da 1.ª lista para a 2.ª. mport java.applet.applet; import java.awt.*; import java.awt.event.*; public class List1 extends Applet { private List listapaises, listacopia; private Button copiar; private String paises[] = { "Portugal", "Espanha", "E.U.A", "Inglaterra", "França", "Suíça", "Bélgica", "Holanda", "Alemanha", "China" ; public void init() { listapaises = new List( 5, true ); for ( int i = 0; i < paises.length; i++ ) listapaises.add( paises[ i ] ); add( listapaises ); copiar = new Button( "Copiar >>>" ); add( copiar ); copiar.addactionlistener(new TrataEv()); listacopia = new List( 5, false ); add( listacopia ); class TrataEv implements ActionListener { public void actionperformed( ActionEvent e) { String paisesc[]; if (e.getsource() == copiar) { paisesc = listapaises.getselecteditems(); for ( int i = 0; i < paisesc.length; i++ ) listacopia.add( paisesc[ i ] ); 161
17 Gestores de Posicionamento (Layout Manager) A forma como os componentes gráficos são colocados numa janela é controlada por um objecto designado gestor de posicionamento ( layout manager ). Antes de adicionar componentes gráficos a um objecto contentor (janela ou outros componentes gráficos contentores) deve-se instalar (nesse objecto contentor) um objecto gestor de posicionamneto. No entanto, como qualquer objecto contentor possui um determinado gestor de posicionamento por omissão, é possível adicionar componentes gráficos a um objecto contentor sem instalar um gestor de posicionamento, sendo nesse caso os componentes dispostos pelo gestor de posicionamento definido por omissão para esse contentor. A disposição dos componentes para a maior parte dos gestores é baseada na ordem pela qual os componentes são adicionados. Os gestores de posicionamento adaptam a disposição dos componentes às dimensões do applet ou da janela da aplicação. Se as dimensões da janela mudam, o tamanho, forma e colocação dos componentes pode mudar. As classes Applet e Frame são subclasses da classe Container. O método setlayout() da classe Container permite instalar um gestor de posicionamento. FlowLayout Este é o gestor de posicionamento por omissão para os applets. Corresponde a colocar os componentes fluindo da esquerda para a direita até que a linha de cima esteja cheia, depois passa para a linha seguinte continuando o fluxo de colocação dos componentes, do mesmo modo que as palavras de um texto numa página. Com FlowLayout os componentes tomam um tamanho natural, por exemplo, um botão terá o tamanho da string que constitui a respectiva etiqueta. 162
18 Para criar um gestor de posicionamento para um contentor é necessário criar uma instância de uma classe gestor de posicionamento ( layout manager ), e torná-lo o gestor do contentor com o método setlayout() da classe Container: FlowLayout fl = new FlowLayout(); setlayout(fl); Para um contentor applet (objecto da classe Applet) ou para um contentor panel (objecto da classe Panel que estudaremos adiante) o gestor de posicionamento por omissão é FlowLayout. Construtores: FlowLayout() FlowLayout(int align) - os componentes gráficos são alinhados ao centro. - define uma das três possíveis formas de alinhamento dos componentes: FlowLayout.CENTER, FlowLayout.LEFT ou FlowLayout.RIGHT. FlowLayout(int align, int hgap, int vgap) - define o tipo de alinhamento, o espaçamento horizontal e o espaçamento vertical entre os componentes gráficos. Exemplo: import java.awt.flowlayout; import java.awt.button; import java.awt.color; import java.applet.applet; public class FlowLayout1 extends Applet { Button b1 = new Button( Um ); Button b2 = new Button( Dois ); FlowLayout fl = new FlowLayout(); public void init() { setbackgroud(color.white); setlayout(fl); add(b1); add(b2); 163
19 GridLayout O gestor de posicionamento GridLayout divide o Container numa grelha com um dado número de linhas e de colunas e coloca os componentes da esquerda para a direita e de cima para baixo à medida que são adicionados. Para saltar células podem-se colocar componentes invisiveis, tais como new Label( ) ou new Panel(). Com GridLayout os componentes enchem o espaço disponível para eles em cada célula. Construtores: GridLayout(int rows, int cols) - cria um gestor de posicionamento especificando o número de linhas e o número de colunas. GridLayout(int rows, int cols, int hgap, int vgap) - cria um gestor de posicionamento especificando o número de linhas, o número de colunas, o espaçamento horizontal e vertical entre os componentes gráficos. Exemplo: import java.awt.gridlayout; import java.awt.button; import java.awt.color; import java.applet.applet; public class GridLayout1 extends Applet { Button b1 = new Button("1"); Button b2 = new Button("2"); Button b3 = new Button("3"); Button b4 = new Button("4"); Button b5 = new Button("5"); Button b6 = new Button("6"); Button b7 = new Button("7"); Button b8 = new Button("8"); Button b9 = new Button("9"); Button b0 = new Button("0"); GridLayout gl = new GridLayout(4, 3, 10, 10); public void init() { setbackground(color.white); setlayout(gl); add(b1); add(b2); add(b3); add(b4); add(b5); add(b6); add(b7); add(b8); add(b9); add(b0); 164
20 BorderLayout O gestor de posicionamento BorderLayout divide o Container em 5 secções: norte, sul, este, oeste e centro. Os componentes são adicionados usando uma chamada do método add() da classe Container diferente dos anteriores: add( String nome, Component comp); O primeiro argumento é uma string indicando que parte do BorderLayout é atribuída ao componente. O primeiro argumento pode ter 5 valores possíveis: North, South, East, West e Center. Construtores: BorderLayout() - cria um gestor de posicionamento com os espaçamentos standard entre os componentes. BorderLayout(int hgap, int vgap) - cria um gestor de posicionamento com os espaçamentos horizontais e verticais especificados. Exemplo: import java.applet.applet; public class BorderLayout1 extends Applet { Button norte= new Button("Célula Norte"); Button sul = new Button("Célula Sul"); Button este = new Button("Célula Este"); Button oeste = new Button("Célula Oeste"); Button centro = new Button("Célula Centro"); BorderLayout bl = new BorderLayout(3, 3); public void init() { setbackground(color.white); setlayout(bl); add("north", norte); add("south", sul); 165
21 add("east", este); add("west", oeste); add("center", centro); As secções norte e sul estendem-se do limite esquerdo ao limite direito do contentor e têm uma altura dependente do componente adicionado. As secções oeste e este têm uma largura dependente dos componentes adicionados, e a secção centro ocupa todo o espaço central. A cada secção só se pode adicionar um componente gráfico. A zona centro espande-se pelas secções vazias (sem componentes adicionados). Panel Um painel é um contentor que fornece espaço para agrupar componentes e tem o seu próprio gestor de posicionamento (layout manager). É uma estrutura invisível mas essencial para obter uma boa apresentação de um interface, devido ao facto de se poder escolher um gestor de posicionamento para o painel permitindo a adição de outros componentes gráficos ao painel e em seguida inserir o painel num contentor (sendo a posição do painel determinada pelo gestor de posicionamneto do contentor). Abreviadamente pode-se inserir painéis no interior dos layouts e layouts dentro de painéis. Ainda é possível misturar painéis e outros componentes dispostos por um mesmo gestor de posicionamento num contentor. O gestor de posicionamento por omissão para um painel é o gestor FlowLayout. Os componentes devem ser colocados no painel antes dele ser posto num contentor maior. Um painel é um contentor que não tem a sua própria janela tem de estar contido dentro de outro qualquer contentor Exemplo de construção de um painel, colocação de gestor de posicionamento e adicionamento de dois botões: 166
22 BorderLayout bl = new BorderLayout(); Panel p = new Panel(); p.setlayout(bl); Button botão1= new Button( Botão 1 ); Button botão2= new Button( Botão 2 ); p.add( North, botão1); p.add( Center, botão2); Há 4 classes usadas normalmente para contentores: Frame Dialog Panel Applet - é uma janela do nível mais alto que pode conter uma barra de menus, um cursor e ícone próprios. - é uma janela de diálogo. - é um contentor sem janela própria. - é uma janela. Ao contrário de dialog e frame, panel é um contentor que não cria uma janela separada própria, tem de estar contido dentro de outro contentor. Panel é adequado para conter porções de um interface maior dentro de um frame, ou dialog ou dentro de outro panel. CardLayout É um gestor de posicionamento em que os componentes são mostrados um de cada vez. Só um cartão ( card ) é visível estando os outros escondidos. Muitas vezes este gestor de posicionamento é usado criando um painel para cada cartão. Neste caso é necessário, em primeiro lugar, adicionar alguns componentes a cada painel (usando qualquer gestor de posicionamento) e só depois os painéis são adicionados ao contentor (container) que usa o gestor de posicionamento CardLayout. A mudança de cartão visível só pode ser desencadeada pelo programa. No entanto a acção do utilizador noutro componente gráfico, pode desencadear no programa a acção de mudar o cartão visível. Com este gestor obtém-se a possibilidade de ter diferentes forms que podem surgir ( pop up ) comandadas pelo programa. Exemplo de CardLayout e Panel Construa um applet contendo 3 objectos gráficos (botões) dispostos pelo gestor CardLayout. Para efectuar a mudança de cartão visível crie também 3 botões que quando pressionados tornam visível o respectivo cartão. import java.awt.*; import java.awt.event.*; import java.applet.applet; 167
23 public class CardLayoutTest extends Applet { Button primeiro = new Button("Primeiro"), segundo = new Button("Segundo"), terceiro = new Button("Terceiro"); Panel p2; CardLayout cl; public void init() { setlayout(new BorderLayout()); Panel p1 = new Panel(); p1.setlayout(new FlowLayout()); p1.add(primeiro); p1.add(segundo); p1.add(terceiro); add("north", p1); TrataEv t = new TrataEv(); primeiro.addactionlistener(t); segundo.addactionlistener(t); terceiro.addactionlistener(t); p2 = new Panel(); p2.setlayout(cl=new CardLayout()); p2.add("primeiro cartão", new Button("O primeiro cartão")); p2.add("segundo cartão", new Button("O segundo cartão")); p2.add("terceiro cartão", new Button("O terceiro cartão")); add("center", p2); class TrataEv implements ActionListener { public void actionperformed(actionevent evt) { if (evt.getsource().equals(primeiro)) cl.first(p2); else if (evt.getsource().equals(segundo)) { cl.first(p2); cl.next(p2); else if (evt.getsource().equals(terceiro)) cl.last(cartões); 168
24 Canvas Um componente canvas representa uma área rectangular do ecrã na qual uma aplicação pode desenhar ou a partir da qual a aplicação pode capturar eventos do utilizador. Canvas é uma área de desenho que pode receber eventos. A classe Canvas herda da classe Componente. Construtor: public Canvas() - cria um objecto canvas. Métodos: public void paint(graphics g) Se pretendermos usar o método paint() num objecto da classe Canvas, temos de criar uma subclasse de Canvas para reescrever o método paint(). Nestes casos uma aplicação deve criar uma subclasse de Canvas para obter funcionalidade útil (reescrevendo o método paint() para realizar operações gráficas) e criar componentes próprios. No entanto, o exemplo que apresentamos a seguir não necessitou de criar uma subclasse de Canvas porque não usa o método paint(). Desenhar num objecto canvas realiza-se a partir do canto superior esquerdo do canvas. Exemplo de Canvas import java.awt.*; import java.awt.event.*; import java.applet.*; public class CanvasTest extends Applet { BorderLayout bl = new BorderLayout(); Label l = new Label("Sarrabiscos"); Canvas c = new Canvas(); int x, y; Graphics g; public void init() { setlayout(bl); add("north", l); add("center", c); c.setbackground(color.yellow); c.addmouselistener(new ListenerMA()); c.addmousemotionlistener(new ListenerMMA()); g = c.getgraphics(); class ListenerMA extends MouseAdapter { public void mousepressed(mouseevent evt) { x = evt.getx(); y = evt.gety(); 169
25 class ListenerMMA extends MouseMotionAdapter { public void mousedragged(mouseevent evt) { int x1 = evt.getx(); int y1 = evt.gety(); g.drawline(x, y, x1, y1); x = x1; y = y1; Os métodos de desenho (neste exemplo drawline()) são chamados no objecto da classe Graphics e não no objecto canvas, porque o objecto da classe Graphics enviado ao método paint() (não usado neste exemplo), assim como o retornado por getgraphics() contem o contexto gráfico do componente e portanto trata de todas as operações de desenho que têm lugar nesse componente. Como os objectos listeners estão registados no componente canvas as coordenadas onde ocorrem os eventos sõ relativas ao canto superior esquerdo do componente canvas. A acção dos métodos mousepressed() e mousedragged() devem aplicar-se ao contexto gráfico do objecto Canvas para funcionarem apenas no objecto c (canvas). Se fossem aplicados globalmente actuariam sobre toda a janela do applet. Exemplo de Panel e Canvas Construa um applet que apresente 3 formas (instrumentos) de desenho: Linha, Rectângulo e Oval, uma palette de 6 cores: Preto, Branco, Vermelho, Azul, Verde e Amarelo e uma área de desenho onde arrastando o rato pode desenhar linhas, rectângulos ou ovais de uma qualquer das cores da palette conforme o instrumento de desenho e cor previamente seleccionados. import java.awt.*; import java.awt.event.*; import java.applet.*; 170
26 public class Desenhar extends Applet { Panel instrumentos, palette; Button linha, rect, oval; Button preto, branco, vermelho, azul, verde, amarelo; Canvas1 areadesenho; public void init() { setlayout(new BorderLayout()); palette = new Panel(); palette.setlayout(new GridLayout(2,3,5,5)); preto = new Button("Preto"); branco = new Button("Branco"); vermelho = new Button("Vermelho"); azul = new Button("Azul"); verde = new Button("Verde"); amarelo = new Button("Amarelo"); palette.add(preto); palette.add(branco); palette.add(vermelho); palette.add(azul); palette.add(verde); palette.add(amarelo); add("south", palette); TrataEv t = new TrataEv(); preto.addactionlistener(t); branco.addactionlistener(t); vermelho.addactionlistener(t); azul.addactionlistener(t); verde.addactionlistener(t); amarelo.addactionlistener(t); instrumentos = new Panel(); instrumentos.setlayout(new GridLayout(3,1,5,5)); linha = new Button("Linha"); rect = new Button("Rectângulo"); oval = new Button("Oval"); instrumentos.add(linha); instrumentos.add(rect); instrumentos.add(oval); add("west", instrumentos); linha.addactionlistener(t); rect.addactionlistener(t); oval.addactionlistener(t); areadesenho = new Canvas1(Color.black, 0); add("center", areadesenho); validate(); class TrataEv implements ActionListener { public void actionperformed(actionevent evt) { Object source = evt.getsource(); if (source == linha) areadesenho.instr = 0; if (source == rect) areadesenho.instr = 1; if (source == oval) areadesenho.instr = 2; if (source == preto) areadesenho.cor = Color.black; if (source == branco) areadesenho.cor = Color.white; if (source == vermelho) areadesenho.cor = Color.red; 171
27 if (source == azul) areadesenho.cor = Color.blue; if (source == verde) areadesenho.cor = Color.green; if (source == amarelo) areadesenho.cor = Color.yellow; class Canvas1 extends Canvas { Color cor; int instr; int x, y, x1, y1; public Canvas1(Color c, int inst) { cor = c; instr = inst; addmouselistener(new ListenerMA()); addmousemotionlistener(new ListenerMMA()); class ListenerMA extends MouseAdapter { public void mousepressed(mouseevent evt) { x = evt.getx(); y = evt.gety(); class ListenerMMA extends MouseMotionAdapter { public void mousedragged(mouseevent evt) { x1 = evt.getx(); y1 = evt.gety(); repaint(); public void paint(graphics g) { g.setcolor(cor); if (instr == 0) g.drawline(x, y, x1, y1); else if (instr == 1) g.fillrect(x, y, x1-x, y1-y); else if (instr == 2) g.filloval(x, y, x1-x, y1-y); 172
28 Os métodos mousepressed, mousedragged e paint devem aplicar-se ao contexto gráfico do objecto Canvas1 para funcionarem apenas no objecto areadesenho. Se estivessem definidos globalmente actuariam sobre toda a janela do applet. Frame Um frame é uma janela do nível mais alto com um título e um bordo. Um frame pode ter uma barra de menus. Construtores: public Frame() - constrói um frame inicialmente invisível e sem título. public Frame(String título) - constrói um frame inicialmente invisível e com o título especificado. Métodos: public void settitle(string título) - coloca o título deste frame no título especificado. public String gettitle() - retorna o título do frame ou null se o frame não tem título. Exemplo de criação de um frame a partir de um applet public class AppletFrame extends java.applet.applet { Frame window; public void init() { Button b1 = new Button("Open Window"); Button b2 = new Button("Close Window"); add(b1); add(b2); b1.addactionlistener(new TrataEv(true)); b2.addactionlistener(new TrataEv(false)); window = new Frame("Uma janela solta"); window.setlayout(new BorderLayout()); 173
29 Label l = new Label("Isto é uma janela", Label.CENTER); l.setfont(new Font("TimesRoman", Font.PLAIN, 14)); window.add("center", l); window.setsize(150,150); window.show(); class TrataEv implements ActionListener { boolean mostrar = true; public TrataEv(boolean m) { mostrar = m; public void actionperformed(actionevent evt) { if (evt.getsource() instanceof Button) { if (mostrar) { if (!window.isshowing()) window.show(); // necessario estas chavetas - porquê? else if (window.isshowing()) window.hide(); Criação de Aplicações com Interface Gráfico com o Utilizador (GUI Graphical user Interface) São poucas as diferenças entre um applet Java e uma aplicação gráfica para além do ambiente em que cada um corre. Os métodos gráficos, os componentes de interface com o utilizador, eventos, janelas e caixas de diálogo podem ser usados do mesmo modo em aplicações Java como em applets. As aplicações têm a vantagem de não estarem sujeitas às restrições dos applets. 174
30 Para criar uma aplicação gráfica Java, geralmente a classe principal da aplicação é uma subclasse de Frame. Dentro do método main() da aplicação cria-se uma nova (new) instância da classe (subclasse de Frame), o que nos dá uma nova janela AWT, a qual podemos redimensionar (setsize()) e tornar visível (show()) de um modo idêntico a qualquer janela AWT. Dentro do método construtor desta classe deve-se colocar o título, adicionar o gestor de disposição, criar, configurar e adicionar componentes de um modo semelhante ao que se fazia no método init() de um applet. Exemplo de uma aplicação gráfica Construa uma aplicação que crie 2 botões: um para iniciar e outro para incrementar um contador cujo valor deve ser mostrado num label. import java.awt.*; import java.awt.event.*; public class ApliContador extends Frame { Button incr, iniciar; Label mostra; int conta=0; public ApliContador(String titulo) { super(titulo); setlayout(new FlowLayout()); add(iniciar = new Button("Iniciar")); add(incr = new Button("Incrementar")); add(mostra = new Label(" "+0)); addwindowlistener(new Terminator()); TrataEv t = new TrataEv(); incr.addactionlistener(t); iniciar.addactionlistener(t); class TrataEv implements ActionListener { public void actionperformed(actionevent e) { Object botao = e.getsource(); if (botao == incr) conta++; else if (botao.equals(iniciar)) conta = 0; mostra.settext(" "+conta); class Terminator extends WindowAdapter { public void windowclosing(windowevent e) { System.exit(0); 175
31 public static void main(string args[]) { ApliContador apl = new ApliContador("Aplicação Gráfica: Contador"); apl.setsize(300, 300); apl.show(); Outros exemplos de aplicações gráficas: import java.awt.*; import java.awt.event.*; public class Scribble5 extends Frame { private int x, y; public Scribble5() { settitle("janela para Sarrabiscar"); setsize(300, 200); addwindowlistener(new Terminator()); addmouselistener(new ListenerMA()); addmousemotionlistener(new ListenerMMA()); class ListenerMA extends MouseAdapter { public void mousepressed(mouseevent e) { x = e.getx(); y = e.gety(); class ListenerMMA extends MouseMotionAdapter { public void mousedragged(mouseevent e) { Graphics g = getgraphics(); int x1= e.getx(); int y1= e.gety(); g.drawline(x, y, x1, y1); x = x1; y = y1; class Terminator extends WindowAdapter { public void windowclosing(windowevent e) { System.exit(0); 176
32 public static void main(string[] args) { Frame jan = new Scribble15(); jan.show(); // Construa uma aplicacao que crie uma janela com 3 botões. // Cada botão muda a cor do fundo da janela para a cor do respectivo label. import java.awt.*; import java.awt.event.*; public class Cores3 extends Frame { Button verm, azul, verde; public Cores3() { settitle("janela com Botoes"); setlayout(new FlowLayout()); setsize(300, 200); addwindowlistener( new Terminator()); setbackground(color.white); verm = new Button("Vermelho"); add(verm); verm.addactionlistener(new ProcessaBotao(Color.red)); azul = new Button("Azul"); add(azul); azul.addactionlistener(new ProcessaBotao(Color.blue)); verde = new Button("Verde"); add(verde); verde.addactionlistener(new ProcessaBotao(Color.green)); class ProcessaBotao implements ActionListener { Color cor; ProcessaBotao(Color c) { cor = c; public void actionperformed(actionevent e) { setbackground(cor); class Terminator extends WindowAdapter { public void windowclosing(windowevent e) { System.exit(0); public static void main(string[] args) { Frame jan = new Cores3(); jan.show(); 177
33 Frame Um frame é uma janela do nível mais alto com um título e um bordo. Um frame pode ter uma barra de menus. Construtores: public Frame() - constrói um frame inicialmente invsível e sem título. public Frame(String título) - constrói um frame inicialmente invisível e com o título especificado. Métodos: void settitle(string título) - coloca o título deste frame no título especificado. String gettitle() - retorna o título do frame ou null se o frame não tem título. void setmenubar(menubar mb) - coloca a barra de menus deste frame na barra de menus especificada. MenuBar getmenubar() - retorna a barra de menus para este frame, ou null, se o frame não tem uma barra de menus. void setresizable(boolean resizable) determina se este frame pode ser redimensionável. Por omissão um frame é redimensionável. void isresizable(boolean resizable) indica se este frame é redimensionável. void remove(menucomponent m) remove a barra de menus especificada. MenuBar (subclasse de MenuComponent) Esta classe encapsula o conceito de plataforma de uma barra de menus ligada a um frame. Para ligar uma barra de menus a um frame deve-se chamar o método setmenubar() da classe Frame. Construtor: public MenuBar() cria uma nova barra de menus. Métodos: Menu add(menu m) adiciona o menu especificado à barra de menus. Retorna o menu adicionado int countmenus() retorna o número de menus na barra de menus. Menu getmenu(int i) retorna o menu da barra de menus na posição especificada. void remove(int index) remove da barra de menus o menu localizado no índice especificado. void remove(menucomponent m) remove da barra de menus o menu especificado. 178
34 Menu Um menu é um componente pull-down de uma barra de menus. Cada item num menu pertence à classe MenuItem. Cada item pode ser uma instância de MenuItem, um submenu (uma instância de Menu) ou um checkbox (uma instância de CheckboxMenuItem). Construtores: public Menu(String label) constrói um novo menu com o label especificado. public Menu(String label, boolean tearoff) constrói um novo menu com o label especificado. Se o 2.º argumento é true o menu permanece no ecrã depois do rato ter sido libertado. Métodos: MenuItem add(menuitem mi) adiciona o item de menu especificado a este menu. Se o item de menu é parte de outro menu, remove-o desse menu. Retorna o item de menu adicionado. void add(string label) adiciona um item com o label especificado a este menu. MenuItem getitem(int index) retorna o item localizado no índice especificado deste menu. void remove(menucomponent item) apaga o item de menu especificado deste menu. Se o item não é parte do menu, nada acontece. void remove(int index) apaga o item do índice especificado neste menu. int countitems() retorna o número de elementos deste menu. void addseparator() adiciona uma linha separadora a este menu na posição corrente. boolean istearoff() retorna true se é um menu tear-off. MenuItem (subclasse de MenuComponent) Todos os itens de um menu devem pertencer à classe MenuItem ou a uma subclasse. No modelo de eventos 1.1 quando um item de um menu é seleccionado, um evento de acção é enviado para o listener registado no menu item, e o método actionperformed() é chamado. A subclasse Menu reescreve este comportamento e não envia qualquer evento para o frame até que um dos seus subitens esteja seleccionado. Construtores: public MenuItem(String label) constrói um novo item de menu com o label especificado. O label - constrói um separador entre os itens. Por omissão todos os itens do menu excepto os separadores são seleccionáveis pelo utilizador. 179
35 Métodos: void setlabel(string label) muda o label do item deste menu para o label especificado. String getlabel() retorna o label deste item do menu ou null se este item do menu não tem label. void enable() torna o item do menu seleccionável pelo utilizador. void disable() torna o item do menu não seleccionável. void enable(boolen sel) torna o item do menu seleccionável ou não. boolean isenabled() verifica se o item do menu é seleccionável. Exemplo: /* Construa uma aplicação que crie uma janela com 3 botões, e uma barra de menus com um menu constituído por 3 itens. A selecção de um botão ou de um item permite mudar a cor fundo da janela para a cor designada no respectivo label. */ import java.awt.*; import java.awt.event.*; public class MultSources extends Frame { private Button verm, azul, verde; public MultSources() { settitle("multiple Event Sources"); setlayout(new FlowLayout()); setsize(300, 200); addwindowlistener( new Terminator()); Menu m = new Menu("Cores"); MenuItem vermitem = new MenuItem("Vermelho"); m.add(vermitem); vermitem.addactionlistener(pbverm); MenuItem azulitem = new MenuItem("Azul"); m.add(azulitem); azulitem.addactionlistener(pbazul); MenuItem verditem = new MenuItem("Verde"); m.add(verditem); verditem.addactionlistener(pbverd); MenuBar mbar = new MenuBar(); mbar.add(m); setmenubar(mbar); setbackground(color.white); verm = new Button("Vermelho"); add(verm); verm.addactionlistener(pbverm); azul = new Button("Azul"); add(azul); 180
36 azul.addactionlistener(pbazul); verde = new Button("Verde"); add(verde); verde.addactionlistener(pbverd); class ProcessaBotao implements ActionListener { Color cor; ProcessaBotao(Color c) { cor = c; public void actionperformed(actionevent e) { setbackground(cor); class Terminator extends WindowAdapter { public void windowclosing(windowevent e) { System.exit(0); public static void main(string[] args) { Frame jan = new MultSources(); jan.show(); 181
37 // Construa uma aplicacao que crie uma janela com 2 botões // Um botão cria novas janelas enquanto que o outro fecha todas as janelas. import java.awt.*; import java.awt.event.*; public class MultListeners extends Frame { private Button nova, fechatodas; private int contador = 0; public MultListeners() { settitle("multiplos Listeners"); setlayout(new FlowLayout()); setsize(300, 200); addwindowlistener( new Terminator()); nova = new Button("Nova Janela"); add(nova); nova.addactionlistener(new NovaJanela()); fechatodas = new Button("Fecha Todas"); add(fechatodas); class NovaJanela implements ActionListener { public void actionperformed(actionevent e) { Frame f = new Frame(); contador ++; f.settitle("janela n. " + contador); f.setsize(200, 150); f.setlocation(30*contador, 50+30*contador); f.show(); fechatodas.addactionlistener(new FechaJanela(f)); class FechaJanela implements ActionListener { private Frame jan; public FechaJanela(Frame f) { jan = f; public void actionperformed(actionevent e) { jan.dispose(); class Terminator extends WindowAdapter { public void windowclosing(windowevent e) { System.exit(0); public static void main(string[] args) { Frame jan = new MultListeners(); jan.show(); 182
38 Dialog (subclasse de Window) Esta classe representa uma caixa de diálogo, uma janela que recebe input do utilizador. As caixas de diálogo destinam-se a ser janelas temporárias, que apresentam informação específica ao utilizador ou que permitem ao utilizador especificar opções para a actividade corrente. Cada caixa de diálogo deve pertencer a um Frame. Na criação de uma caixa de diálogo é necessário a indicação de qual é o seu parent frame. Uma caixa de diálogo pode ser ou não modal. Uma caixa de diálogo modal bloqueia todos os eventos para outras janelas forçando a que o utilizador elimine esta janela. Todos os eventos de rato, teclado e foco que ocorrem sobre a janela de diálogo são enviados para o objecto Dialog. Quando criada é invisível, pelo que a aplicação deve usar o método show() para fazer aparecer a caixa de diálogo. O gestor de posicionamento ( layout manager ) por omissão para uma caixa de diálogo é o BorderLayout. Construtores: public Dialog(Frame parent, boolean modal) - cria uma caixa de diálogo inicialmente invisível. parent é o frame a que a janela dialog está associada. O 2.º argumento deve ser true se se pretende que a janela seja do tipo modal ou false se a janela não deve ser modal. public Dialog(Frame parent, String title, boolean modal) - cria caixa de diálogo com o título especificado. 183
39 Métodos: String gettitle() - retorna o título desta caixa de diálogo. boolean ismodal() - retorna true se esta caixa de diálogo é modal, false se não é. void settitle() - coloca o título desta caixa de diálogo. FileDialog (subclasse de Dialog) Esta classe representa uma caixa de diálogo na qual o utilizador pode seleccionar um ficheiro. Como é uma caixa de diálogo modal, após a execução do método show() bloqueia o resto da aplicação até que o utilizador escolha o ficheiro. public class java.awt.filedialog extends java.awt.dialog Constantes estáticas inteiras: public static final int LOAD; public static final int SAVE; LOAD indica que a caixa de diálogo se destina a determinar o ficheiro para leitura. SAVE indica que a caixa de diálogo se destina a determinar o ficheiro para escrita. Construtores: public Dialog(Frame parent, String title) - cria uma caixa de diálogo com o título especificado para carregar um ficheiro. Os ficheiros mostrados são os do directório corrente. public Dialog(Frame parent, String title, int mode) - cria uma caixa de diálogo com o título especificado para carregar ou gravar um ficheiro. O argumento mode deve ter o valor LOAD ou SAVE. Métodos: public String getdirectory() retorna o directório corrente. public String getfile() retorna o ficheiro seleccionado ou null se nenhum está seleccionado. Window (subclasse de Container) Um window é uma janela do nível mais alto. Não tem bordo nem barra de menu nem o atributo modal. Necessita, tal como a Dialog, de um parent frame. Pode ser usada para implementar menus pop-up. O layout por omissão para um window é BorderLayout. Construtor: public Window(Frame parent) constrói uma janela nova invisível. A janela comportase como modal bloqueando input para outras janelas da aplicação. O método show() torna a janela visível. 184
Programação III. Interface Gráfica - Swing. Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br. Interface Gráfica - Swing
Programação III Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br Deitel Capítulo 11 : Imagens gráficas e Java 2D Capítulo 12 : Componentes Básicos Capítulo 13 : Componentes Avançados GUI
Leia maisAplicações Gráficas com AWT
Aplicações Gráficas com AWT O AWT fornece um conjunto de elementos de interface gráfica padrão (botões, janelas, menus, campos de edição, campos de seleção e outros) incluindo o sistema de tratamento de
Leia maisArquitetura de Tratamento de Eventos em Programas com GUI - Graphical User Interface
Arquitetura de Tratamento de Eventos em Programas com GUI - Graphical User Interface Jorge H. C. Fernandes (jorge@dimap.ufrn.br) UFRN Abril de 2002 Programas com GUI Separação De Abstrações Arquitetura
Leia maisInterface Gráfica. LPG II Java Interface Gráfica AWT. Introdução. AWT - Abstract Window Toolkit
Interface Gráfica LPG II Java Interface Gráfica AWT Introdução AWT Construção de uma Aplicação Gráfica A Classe Componente e sua Hierarquia Gerenciadores de Layout Modelo de Eventos Componentes Básicos
Leia maisProgramação Gráfica em Java.
Programação Gráfica em Java. Objetivo: Ao final da aula o aluno deverá ser capaz de desenvolver a aplicação gráfica ilustrada ao lado. A interface gráfica será simples, composta por elementos de menus.
Leia maisTratamento de Eventos
Tratamento de Eventos Prof. Marcelo Cohen 1. Visão Geral Para implementar a funcionalidade de uma interface gráfica, pode-se fazer uso de uma repetição sem fim: Faz algum processamento Verifica se o mouse
Leia maisExemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame
6. Como aplicações gráficas funcionam em Java? Todas as aplicações gráficas em Java usam instâncias de classes existentes, que por serem parte da linguagem podem ser executadas em todas as versões de Java
Leia maisMódulo 7. Interface Gráfica com o Usuário GUI - Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)
Módulo 7 Interface Gráfica com o Usuário GUI - Introdução Programação Orientada a Objetos I Java (Rone Ilídio) Interface Gráfica com o Usuário Os elementos gráficos utilizados estão no pacote javax.swing.*
Leia maisJAVA. Marcio de Carvalho Victorino. Interface Gráfica em Java (GUI)
JAVA Marcio de Carvalho Victorino 1 Interface Gráfica em Java (GUI) 1 2 Introdução Java fornece um forte suporte para a construção de interfaces gráficas através do pacote java.awt GUI inicial do Java:
Leia maisAdicionando Caixas de Verificação no seu Programa Java
Adicionando Caixas de Verificação no seu Programa Java Priscila Gomes Neste tutorial iremos falar sobre os aspectos básicos de uma caixa de verificação: quais os tipos, quando e como utiliza-las, como
Leia maisInterfaces Gráficas: Interações Complexas
Interfaces Gráficas: 21 Interações Complexas 21.5 O contexto gráfico Os componentes de uma interface gráfica são desenhados na tela do computador a partir de primitivas que permitem a construção de linhas,
Leia mais1) De acordo com o trecho de código escrito na linguagem JAVA, responda a questão abaixo:
1) De acordo com o trecho de código escrito na linguagem JAVA, responda a questão abaixo: boolean[][] bool = new boolean[5][5]; for(int v = 0; v < bool.length; v++) { for(int f = 0; f < bool[v].length;
Leia maisProgramação Orientada a Objetos II
Programação Orientada a Objetos II Interfaces Márcio Alves de Macêdo Baseado no material de: ime.usp Cronograma Pacotes gráficos da linguagem Java Container AWT Component AWT Pacotes gráficos A linguagem
Leia maisCurso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido
Leia maisO AMBIENTE DE TRABALHO DO WINDOWS
O AMBIENTE DE TRABALHO DO WINDOWS O Windows funciona como um Sistema Operativo, responsável pelo arranque do computador. Um computador que tenha o Windows instalado, quando arranca, entra directamente
Leia maisCaso não exista nenhum listener registado no objecto que gera o evento, este não terá qualquer efeito.
Interfaces Gráficas e Eventos - 10 Programação por eventos Um evento ocorre quando o utilizador interage com um objecto gráfico:. manipular um botão com o rato;. introduzir texto num campo de texto. seleccionar
Leia maisSwing. Page 1. Swing. Prof. Anderson Augustinho Uniandrade
Page 1 API A API renderiza/desenha por conta própria todos os componentes visuais, ao invés de delegar essa tarefa ao sistema operacional, como a maioria das outras APIs de interface gráfica trabalham.
Leia maisAWT Versus Swing. Java Deployment Course: Aula 5. por Jorge H C Fernandes (jhcf@di.ufpe.br) CESAR-DI-UFPE Recife, 1999
AWT Versus Swing Java Deployment Course: Aula 5 por Jorge H C Fernandes (jhcf@di.ufpe.br) CESAR-DI-UFPE Recife, 1999 AWT Versus Swing Java TM is a trademark of Sun Microsystems. Swing images where taken
Leia maisInterface Gráficas Parte I. Bruno Crestani Calegaro
Interface Gráficas Parte I Bruno Crestani Calegaro Conteúdo da Aula GUI, Graphical User Interface, é nada mais que a tela que um programa apresenta para um usuário Até o agora nossos programas foram desenvolvidos
Leia maisMÓDULO 4 SWING Parte 3
Aplicações de Linguagem de Programação Orientada a Objetos 2ºsem/2011 (Professores: Tiago e Daniele) // Exemplo11 Ação do Mouse import javax.swing.*; import java.awt.*; import java.awt.event.actionevent;
Leia maisAplicações de Escritório Electrónico
Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho
Leia maisFIGURA. 2.2 ECRÃ DE TRABALHO
Noções Básicas FIGURA. 2.2 ECRÃ DE TRABALHO 2.2.1 Painel de Tarefas (Task Pane) O painel de tarefas constitui a grande novidade do ecrã de trabalho desta nova versão do Word. Para utilizadores menos experientes,
Leia maisGestão de eventos do Rato e teclado
Programação Na Web Gestão de eventos do Rato e teclado 1 António Gonçalves Agenda Estratégia Geral de gestão de eventos Gestão de eventos em listeners distintos Gestão de eventos através do uso de interfaces
Leia maisJava AWT Objectos e Eventos. Label Button TextField Checkbox RadioButton Combobox
Java AWT Objectos e Eventos Label Button TextField Checkbox RadioButton Combobox Label Construtores: Label() Label(String) Label(String, int) onde int=label.center/right/left Métodos setvisible(boolean)
Leia maisMICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira
MICROSOFT ACCESS MICROSOFT ACCESS Professor Rafael Vieira Professor Rafael Vieira - Access - Programa de base de dados relacional funciona em Windows Elementos de uma Base de Dados: Tabelas Consultas Formulários
Leia maisAula 11: Interfaces gráficas (1/2): elementos de interface Swing
Aula 11: Interfaces gráficas (1/2): elementos de interface Swing Motivação como fazer programas com interface gráfica em Java? solução: uso de pacotes (listados na API) AWT (java.awt.*) Swing (javax.swing.*)
Leia maisWINDOWS. O Windows funciona como um Sistema Operativo, responsável pelo arranque do computador.
WINDOWS O AMBIENTE DE TRABALHO DO WINDOWS O Windows funciona como um Sistema Operativo, responsável pelo arranque do computador. Um computador que tenha o Windows instalado, quando arranca, entra directamente
Leia maisZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011
Manual Profissional BackOffice Mapa de Mesas v2011 1 1. Índice 2. Introdução... 2 3. Iniciar ZSRest Backoffice... 3 4. Confirmar desenho de mesas... 4 b) Activar mapa de mesas... 4 c) Zonas... 4 5. Desenhar
Leia maisGerenciadores de Layouts
Gerenciadores de Layouts João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 1.1 Última Atualização 04 / 2005 1 Objetivos Apresentar os gerenciadores de layouts FlowLayout BorderLayout GridLayout BoxLayout
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 08 APRESENTAÇÃO Na aula de hoje vamos apresentar e discutir conceitos
Leia maisProgramação Visual em Java
Programação Visual em Java 1 Sumário Introdução Contentores Componentes Layouts Eventos Exemplos 2 Introdução Interfaces gráficas são compostas por: Contentores Janelas, painéis Componentes botões, menus,
Leia maisGeoMafra Portal Geográfico
GeoMafra Portal Geográfico Nova versão do site GeoMafra Toda a informação municipal... à distância de um clique! O projecto GeoMafra constitui uma ferramenta de trabalho que visa melhorar e homogeneizar
Leia maisINTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos
INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos Chegamos à interface com o usuário. Você já utilizou alguns métodos para dialogar com o usuário, quer enviando mensagens quer lendo dados.
Leia maisTécnicas de Programação II
Técnicas de Programação II Aula 03 GUI e Swing Edirlei Soares de Lima GUI Graphical User Interface A API Java fornece diversas classes destinadas a criação de interfaces gráficas.
Leia maisProgramação Orientada a Objetos em Java. GUI Graphical User Interface
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java GUI Graphical User Interface Professor: César Melo Slides baseados
Leia maisGerenciadores de Layout Parte 1
Gerenciadores de Layout Parte 1 1. Objetivos Os gerenciadores de layout têm a função de definir o layout a ser usado num componente gráfico, com um painel ou um frame, isto é, o gerenciador permite dividir
Leia maisInterface Gráfica com o Usuário (GUI) Profa. Isabel Harb Manssour (Material adaptado das aulas da Profa. Luciana Nedel e do Prof.
Interface Gráfica com o Usuário (GUI) Profa. Isabel Harb Manssour (Material adaptado das aulas da Profa. Luciana Nedel e do Prof. Julio Machado) GUI (Graphical User Interface) Containers e Componentes
Leia maisUNIDADE 2: Sistema Operativo em Ambiente Gráfico
Ambiente Gráfico Configurações Acessórios O Sistema Operativo (SO) é o conjunto de programas fundamentais que permitem que o computador funcione e que comunique com o exterior. Actualmente o Windows é
Leia maisProgramação Orientada a Objetos e Java - Introdução. Carlos Lopes
Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em
Leia maisEspecialização em Engenharia de Software - CEUT
Até aqui Programação com interfaces gráficas Sérgio Soares scbs@cin.ufpe.br Criamos a infra-estrutura para a aplicação bancária classes que representam os tipos de conta classe que implementa regras de
Leia maisGeoMafra SIG Municipal
GeoMafra SIG Municipal Nova versão do site GeoMafra Toda a informação municipal... à distância de um clique! O projecto GeoMafra constitui uma ferramenta de trabalho que visa melhorar e homogeneizar a
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 2. Programação visual com a IDE Netbeans Projetos Tipos de projetos Desenvolvimento
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Leia maisAplicações versus Applets
Aplicações versus Applets Há duas maneiras diferentes de correr um programa Java: Como Aplicação: programa independente e autónomo ( stand-alone ) que pode ser invocado da linha de comandos. Como Applet:
Leia maisCriação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:
Criação de Applets Após ter sido criado o projeto, ao contrário dos exemplos anteriores onde criávamos uma aplicação na guia General da janela Object Gallery, agora iremos criar uma applet que está contida
Leia maisOs elementos básicos do Word
Os elementos básicos do Word 1 Barra de Menus: Permite aceder aos diferentes menus. Barra de ferramentas-padrão As ferramentas de acesso a Ficheiros: Ficheiro novo, Abertura de um documento existente e
Leia maisObjectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs
Interfaces Gráficas e Eventos - 1 Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs - Utilizar as classes JFrame, JButton, JLabel, ImageIcon,
Leia maisA VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO
DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,
Leia maisESCOLA ESTADAL DE EDUCAÇÃO PROFISSIONAL EM ESTRELA CURSO TÉCNICO DE INFORMÁTICA LABORATÓRIO DE PROGRAMAÇÃO III ORIENTAÇÃO À OBJETO
ESCOLA ESTADAL DE EDUCAÇÃO PROFISSIONAL EM ESTRELA CURSO TÉCNICO DE INFORMÁTICA LABORATÓRIO DE PROGRAMAÇÃO III ORIENTAÇÃO À OBJETO JAVA ABSTRACT WINDOWING TOOLKIT 2 ÍNDICE 1 APLICAÇÕES GRÁFICAS COM A AWT...3
Leia maisAplicações de Escritório Electrónico
Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Pacotes: Swing, AWT Janelas de diálogo: JOptionPane Formulários: JFrame Etiquetas: JLabel Caixas de texto simples: JTextField Botões: JButton Menus: JMenuXXX Tratamento
Leia maisManipulação de Células, linhas e Colunas
Manipulação de Células, linhas e Colunas Seleccionar células Uma vez introduzidos os dados numa folha de cálculo, podemos querer efectuar alterações em relação a esses dados, como, por exemplo: apagar,
Leia maisAmbiente de trabalho. Configurações. Acessórios
Ambiente de trabalho Configurações Acessórios O Sistema Operativo (SO) é o conjunto de programas fundamentais que permitem que o computador funcione e comunique com o exterior. Actualmente, o Windows é
Leia maisEncerrando Introdução a Objetos e Classes Redefinição de Métodos (1)
Encerrando Introdução a Objetos e Classes Redefinição de Métodos (1) Overriding x Overload Métodos de diferentes classes que possuem uma relação de herança. Métodos possuem mesmo nome, mesma assinatura
Leia maisTarefa 18: Criar Tabelas Dinâmicas a partir de Listas de Excel
Tarefa 18: Criar Tabelas Dinâmicas a partir de 1. Alguns conceitos sobre Tabelas Dinâmicas Com tabelas dinâmicas podemos criar dinâmica e imediatamente resumos de uma lista Excel ou de uma base de dados
Leia mais8. Interfaces Gráficas de Usuário
Vamos discutir como construir aplicações com interface gráfica de usuário (conhecida como GUI - Graphical User Interface). Numa interface gráfica existem botões, caixas de texto, painéis, barras de rolagem,
Leia maisTarefa Orientada 2 Criar uma base de dados
Tarefa Orientada 2 Criar uma base de dados Objectivos: Criar uma base de dados vazia. O Sistema de Gestão de Bases de Dados MS Access Criar uma base dados vazia O Access é um Sistema de Gestão de Bases
Leia maisSistema Operativo em Ambiente Gráfico
Sistema Operativo em Ambiente Gráfico Sistema Operativo Conjunto de programas fundamentais que permitem que o computador funcione e comunique com o exterior; Windows: sistema operativo mais utilizado nos
Leia maisOficina de Construção de Páginas Web
COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 Oficina de Construção de Páginas Web Criação e Publicação Actividades de exploração Objectivo Explorar as funcionalidades essenciais do Programa, na perspectiva da construção/actualização
Leia mais1 2 3 W O R K S H O P 4 5 6 W O R K S H O P 7 W O R K S H O P 8 9 10 Instruções gerais para a realização das Propostas de Actividades Para conhecer em pormenor o INTERFACE DO FRONTPAGE clique aqui 11 CONSTRUÇÃO
Leia maisHTML - 7. Vitor Vaz da Silva Paula Graça
HTML - 7 Vitor Vaz da Silva Paula Graça 1 Formulários Os formulários forms no HTML, são utilizados para a introdução de dados de uma determinada aplicação Os programas JavaScript têm como um dos seus maiores
Leia maisNatureza do Software e dos Sistemas
Natureza do Software e dos Sistemas Jorge H C Fernandes Diferença Fundamental entre Engenharia de Software e outras Engenharias! Os materiais são diferentes As teorias fundamentais são diferentes Dificuldades
Leia maisO WINDOWS 98 é um sistema operacional gráfico, multitarefa, produzido pela Microsoft.
WINDOWS O WINDOWS 98 é um sistema operacional gráfico, multitarefa, produzido pela Microsoft. Área de Trabalho Ligada a máquina e concluída a etapa de inicialização, aparecerá uma tela, cujo plano de fundo
Leia maisCopyright 2008 GrupoPIE Portugal, S.A.
WinREST Sensor Log A Restauração do Séc. XXI WinREST Sensor Log Copyright 2008 GrupoPIE Portugal, S.A. 2 WinREST Sensor Log Índice Índice Pag. 1. WinREST Sensor Log...5 1.1. Instalação (aplicação ou serviço)...6
Leia maisInterface com o Usuário (UI) UIs Desacopladas (2/3) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos
Interface com o Usuário (UI) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br
Leia mais{ System.exit(0); Exemplo (WindowAdapter) import java.awt.*; import java.awt.event.*;
Aula XVI Apesar da aparência, a janela não é fechada quando acionamos a opção fechar. Isto ocorre porque não existem métodos processadores de eventos capazes de receber tal mensagem encerrando a aplicação.
Leia maisMicrosoft Office FrontPage 2003
Instituto Politécnico de Tomar Escola Superior de Gestão Área Interdepartamental de Tecnologias de Informação e Comunicação Microsoft Office FrontPage 2003 1 Microsoft Office FrontPage 2003 O Microsoft
Leia maisO programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.
7. Carregando e mostrando imagens locais Esta aula complementa os estudos de programação de interfaces gráficas em Java mostrando como podemos carregar imagens de arquivos locais ou da Internet para uso
Leia maisJava Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas (GUIs- Graphical User Interface)
Interface Gráfica Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos JFC Java Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas
Leia maisConceitos importantes
Conceitos importantes Informática Informação + Automática Tratamento ou processamento da informação, utilizando meios automáticos. Computador (Provem da palavra latina: computare, que significa contar)
Leia maisJAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation
JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Paulo Renato S. Veiga Identificação da Turma: 205 Noite Data: 16/05/10 1 Nome da Propriedade
Leia maisCapítulo Tabelas e Gráficos
Capítulo O menu de tabelas e gráficos torna possível criar tabelas numéricas de funções guardadas na memória. Poderá também utilizar funções múltiplas para criar tabelas. Como utiliza a mesma lista de
Leia maisUsando o Excel ESTATÍSTICA. A Janela do Excel 2007. Barra de título. Barra de menus. Barra de ferramentas padrão e de formatação.
Barra de deslocamento ESTATÍSTICA Barra de menus Barra de título Barra de ferramentas padrão e de formatação Barra de fórmulas Conjuntos e Células (Intervalos) Área de trabalho Separador de folhas Barra
Leia maisConfiguração do Ambiente de Trabalho
pag. 1 Configuração do Ambiente de Trabalho 1. Utilização da Área de Trabalho Criação de Atalhos: O Windows NT apresenta um Ambiente de Trabalho flexível, adaptável às necessidades e preferências do utilizador.
Leia maisUNIDADE 2: Sistema Operativo em Ambiente Gráfico
UNIDADE 2: Sistema Operativo em Ambiente Gráfico Ambiente de trabalho Configurações Acessórios O Sistema Operativo (SO) é o conjunto de programas fundamentais que permitem que o computador funcione e comunique
Leia maisProf. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Estudos do pacote awt ; Classe Frame;Estrutura básica de implementação de uma iterface gráfica;criação de container para posicionamento
Leia maisTarefa Orientada 18 Tabelas dinâmicas
Tarefa Orientada 18 Tabelas dinâmicas Análise de dados através de tabelas dinâmicas. Conceitos teóricos As Tabelas Dinâmicas são tabelas interactivas que resumem elevadas quantidades de dados, usando estrutura
Leia maisConstrução de Interfaces Gráficas
Construção de Interfaces Gráficas Mário Antonio Meireles Teixeira DEINF UFMA Baseado em material original de João Carlos Pinheiro CEFET/MA 1 Objetivos Apresentar Os fundamentos da construção GUI em Java
Leia maisMANUAL DO UTILIZADOR
MANUAL DO UTILIZADOR Versão 1.6 PÁGINA DE PESQUISA A página principal do PacWeb permite a realização de um número muito variado de pesquisas, simples, ou pelo contrário extremamente complexas, dependendo
Leia maisInterface Gráfica. Prof. Marcelo Cohen. (material da Profa. Luciana Nedel) Graphical User Interface (GUI)
Interface Gráfica Prof. Marcelo Cohen (material da Profa. Luciana Nedel) 1 Graphical User Interface (GUI) Existe uma infinidade de funcionalidades disponíveis nas bibliotecas de classes Java, destinadas
Leia maisCriar um formulário do tipo Diálogo modal ; Alterar a cor de fundo de um formulário; Inserir botões de comando e caixas de texto;
FICHA OBJECTIVO Construir Construir formulários na base de dados Diplomas em Diário da República Um formulário é utilizado, em primeiro lugar, para introduzir, eliminar ou apresentar dados numa base de
Leia maisFormador: Carlos Maia
Formador: Carlos Maia Iniciar o MS Excel MS Excel - Introdução 1 Ajuda Se ainda não estiver visível a ajuda do Excel do lado direito do ecrã, basta clicar sobre Ajuda do Microsoft Excel no menu Ajuda,
Leia maisCurso Java Starter. www.t2ti.com 1
1 Apresentação O Curso Java Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam entrar no mercado de trabalho sabendo Java, A estrutura do
Leia maisCentro de Competência Entre Mar e Serra. Guia
SMART Notebook Software Guia O Software Notebook permite criar, organizar e guardar notas num quadro interactivo SMART Board (em modo projectado e não-projectado), num computador pessoal e, em seguida,
Leia maisDesenvolvendo aplicações
Desenvolvendo aplicações 22 para a Web Uma aplicação Java pode ser executada sem modificação em qualquer plataforma que tenha a máquina virtual Java instalada. Esta característica faz com que as aplicações
Leia maisAPONTAMENTOS SOBRE WINDOWS
APONTAMENTOS SOBRE WINDOWS Moldura da janela 1 1. JANELAS As janelas são objectos fundamentais do interface gráfico, já que é a partir delas que a informação, comandos e controlos são organizados e apresentados
Leia maisProfessor Sérgio Furgeri
Professor Sérgio Furgeri IPEP 2001 Indice Analítico 1.0. Componentes do Pacote AWT e criação de Applets... 01 1.1. Ciclo de vida de uma Applet...01 1.2. Uso de Botões... 03 1.3. Uso do campo texto... 04
Leia maisSAMUO APP: MANUAL DO ADMINISTRADOR
as novas tecnologias ao serviço do desenvolvimento de projectos w w w. i m a d i p. c o m CABO VERDE: REALIZAÇÃO DE UMA ACÇÃO- PILOTO PARA A MELHORIA DA GESTÃO NUM GABINETE TÉCNICO SELECCIONADO OFITEC
Leia mais1 Code::Blocks Criação de projetos
Programação MEEC Índice 1Code::Blocks Criação de projetos...1 2Code::Blocks Localização do projeto...5 3Code::Blocks Abertura de projetos já existentes...7 4Code::Blocks Funcionamento...8 5Code::Blocks
Leia maisou ainda ser chamado um método que pertença a um objeto, que pertence ao objeto em causa:
OBJETOS, CLASSES E MÉTODOS 83 Esta sintaxe também é válida no caso em que existe encadeamento de objetos, uma vez que dentro de um objeto podem existir outros objetos. Nesse caso, continuam a usar-se pontos
Leia maisFerramenta de Testagem IECL Orientações para o Aluno (PT)
Ferramenta de Testagem IECL Orientações para o Aluno (PT) Índice 1 INTRODUÇÃO 3 2 REALIZAÇÃO DOS TESTES 3 2.1 Login 3 2.2 Verificação do áudio para o teste de Audição 5 2.3 Realização de um teste 5 3 Informação
Leia maisSistema de Informação de Licenciamento de Operações de Gestão de Resíduos
Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos Indice Indice... 2 1. Introdução... 3 2. Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos (SILOGR)....
Leia mais8. Perguntas e Respostas
Arquimedes Manual do Utilizador 185 8. Perguntas e Respostas 8.1. Aparência Para conservar a disposição na qual estão expostas as B.D. no ecrã e para que em posteriores sessões de trabalho tenham a mesma
Leia mais2ª Edição revista e atualizada Versão 2 do software invento Abril 2010. Novas Funcionalidades da Versão 2 do invento
NOVAS FUNCIONALIDADES NA VERSÃO 2 DO INVENTO NOVAS FUNCIONALIDADES NA VERSÃO 2 DO INVENTO FICHA TÉCNICA Título Novas Funcionalidades da Versão 2 do invento Título original New Features in Communicate:
Leia maisNeste tutorial irá criar uma animação simples com base num desenho do Mechanical Desktop.
Neste tutorial irá criar uma animação simples com base num desenho do Mechanical Desktop. Inicialize o 3D Studio VIZ. Faça duplo clique no ícone de 3D Studio VIZ Abre-se a janela da figura seguinte. Esta
Leia maisManual de Utilização. Site Manager. Tecnologia ao serviço do Mundo Rural
Manual de Utilização Site Manager Tecnologia ao serviço do Mundo Rural Índice 1. Acesso ao Site Manager...3 2. Construção/Alteração do Menu Principal...4 3. Inserção/ Alteração de Conteúdos...7 4. Upload
Leia maisMICROSOFT POWERPOINT
MICROSOFT POWERPOINT CRIAÇÃO DE APRESENTAÇÕES. O QUE É O POWERPOINT? O Microsoft PowerPoint é uma aplicação que permite a criação de slides de ecrã, com cores, imagens, e objectos de outras aplicações,
Leia maisPROGRAMAÇÃO Microsoft WINDOWS XP
Mais que um Sistema Operativo, o MS-Windows é um ambiente de trabalho que simula no ecrã o trabalho diário sobre uma secretária. A ideia base do MS-Windows foi a de esconder a organização do MS-DOS e apresentar
Leia maisLista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição
Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:
Leia mais