9. AWT (Abstract Window Toolkit)

snottybugbearΛογισμικό & κατασκευή λογ/κού

3 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

102 εμφανίσεις

Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
185
9. AWT (Abstract Window Toolkit)
Índice
9.0 Introducción
9.1 Contenedores
9.2 Layouts
9.3 Componentes
9.4 Eventos
9.5 Swing
9.6 HowTo Swing
9.7 Ejemplo
9.8 Applets
David Contreras Bárcena
186
9. AWT (Abstract Window Toolkit)
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
187
9. AWT (Abstract Window Toolkit)
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
189
9. AWT – Estructura de una aplicación GUI
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
191
9. AWT – Estructura de una aplicación GUI
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
193
9.1 Contenedores – Cuadros de Diálogo
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
195
9.1 Contenedores – Estructura de una aplicación GUI
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
197
9.1 Contenedores - Container
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
199
9.2 LayoutManager
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
201
9.2 LayoutManager
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
203
9.3 Componentes (Component)
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
205
9.3 Componentes (Component)
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
207
9.3 Componentes - Label
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
209
9.3 Componentes - Canvas
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
211
9.3 Componentes - Canvas
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
213
9.4 Eventos – java.awt.event
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
215
9.4 Eventos – java.awt.event
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
217
9.4 Eventos – java.awt.event
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
219
9.4 Jerarquía de Interfaces de Eventos
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
221
9.4 Ejemplo eventos de ventana (I)
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
223
9.4 Eventos de Teclado
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
225
9.4 Eventos sobre Components
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
227
9.4 Ejemplo de Eventos sobre componentes (II)
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
229
9.5 JFC (Java Foundation Classes)
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
231
9.5 Swing vs AWT
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
233
9.5 Swing vs AWT
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
235
9.5 Paso de AWT a Swing
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
237
9.5 Paso de AWT a Swing
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
239
9.6 HOWTO sobre Swing - JFrame
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
241
9.6 HOWTO sobre Swing - JButton
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
243
9.6 HOWTO sobre Swing - JComboBox
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
245
9.6 HOWTO sobre Swing – JRadioButton
David Contreras Bárcena
246
9.6 HOWTO sobre Swing - JOptionPane
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
247
9.6 HOWTO sobre Swing - JFileChooser
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
249
9.5 HOWTO sobre Swing – Look & Feel
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
251
9.5 HOWTO sobre Swing – Look & Feel (Themes)
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
253
9.6 HOWTO sobre Swing – Menús
Cada ventana puede tener su propia barra de menús.
AWT ofrece:
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
255
9.6 HOWTO sobre Swing – Imágenes
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
257
9.6 HOWTO sobre Swing – TabbedPane
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
259
9.5 HOWTO sobre Swing - JProgressBar
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
261
9.5 HOWTO sobre Swing - JTree
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
263
9.5 HOWTO sobre Swing - JTable
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
265
9.5 HOWTO sobre Swing – Drag&Drop
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
267
9.7 Solución a la Práctica
public class VentanaGrid extends Frame implements
ActionListener, WindowListener
{ TextField nombre, dni, tipo;
Button botonWrite, botonRead;
public VentanaGrid(String titulo)
{ Label label1, label2, label3;
this.setTitle(titulo);
label1 = new Label("Nombre: ");
nombre = new TextField(10);
label2 = new Label("DNI: ");
dni = new TextField(2);
label3 = new Label("Tipo: ");
tipo = new TextField(2);
botonWrite = new Button("Escribir");
botonRead = new Button("Leer");
David Contreras Bárcena
268
9.7 Solución a la Práctica
this.setLayout(new GridLayout(4,2));
this.add(label1);
this.add(nombre);
this.add(label2);
this.add(dni);
this.add(label3);
this.add(tipo);
this.add(botonWrite);
this.add(botonRead);
botonWrite.addActionListener(this);
botonRead.addActionListener(this);
this.addWindowListener(this);
this.pack();
this.show();
}
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
269
9.7 Solución a la Práctica
public void windowClosed(WindowEvent event) { }
public void windowDeiconified(WindowEvent event) {}
public void windowIconified(WindowEvent event) {}
public void windowActivated(WindowEvent event) {}
public void windowDeactivated(WindowEvent event){}
public void windowOpened(WindowEvent event) {}
public void windowClosing(WindowEvent event)
{System.exit(0); }
David Contreras Bárcena
270
9.7 Solución a la Práctica
public void actionPerformed(ActionEvent event)
{ Object source = event.getSource();
Programador p=null;
if (source == botonWrite)
{ p=new Programador(nombre.getText(),
Integer.parseInt(dni.getText()),tipo.getText());
p.write();
nombre.setText(" ");
dni.setText(" ");
tipo.setText(" ");
}
if (source == botonRead)
{ p=(Programador)Programador.read();
nombre.setText(p.getNombre());
dni.setText(String.valueOf(p.getDni()));
tipo.setText(p.getTipo());
}
}
}
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
271
9.8 Applets
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
273
9.8 Applets - Restricciones
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
275
9.8 Applets - Métodos
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
277
9.8 Applets - Ejecución del Applet
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
279
9.8 Applets - Ejemplo etiqueta <APPLET>
<HTML>
<BODY>
<APPLET CODE=MiApplet WIDTH=300 HEIGHT=100>
</BODY>
</HTML>
David Contreras Bárcena
280
9.8 Applets - Ejemplo etiqueta <PARAM>
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
281
9.8 Applets - Práctica de Applets
Lenguaje de Programación JAVA – 2º IINF y 2º ITIG
Lenguaje JAVA
David Contreras Bárcena - ETSI
David Contreras Bárcena
283
9.8 Applets - Práctica de Applets
public void run()
{
while (true)
{
repaint();
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
}
}
}
David Contreras Bárcena
284
9.8 Applets - Práctica de Applets
public void paint(Graphics g)
{
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
DateFormat dateFormatter =
DateFormat.getTimeInstance();
g.drawString(dateFormatter.format(date)
, 5, 10);
}
public void stop()
{
relojThread = null;
}
}