Documente Academic
Documente Profesional
Documente Cultură
11.1 Introduccin
Cadena y el carcter de proceso
Clase java.lang.String
Clase java.lang.StringBuffer
Clase java.lang.Character
Clase java.util.StringTokenizer
Cadena
Series de caracteres tratado como sola unidad
Contorno
StringConstructors.java
Lnea 17
Lnea 18
Lnea 19
Lnea 20
Lnea 21
Lnea 22
1 // Fig. 11.1: StringConstructors.java
2 constructores de clase // cadena.
3 javax.swing importacin. *;
4
5 pblica StringConstructors clase {
6
8{
9
10
Char charArray [] = {'b', 'i', 'r', 't', 'h', '', 'd', 'a', 'y'};
bytes ByteArray [] = {(byte) 'n', (byte) e,
Contorno
StringConstructors.java
23
24
25 String salida = "s1 =" + s1 + "\ ns2 =" + s2 + "\ ns3 =" + s3 +
26
"\ Ns4 =" + s4 + "\ NS5 =" + s5 + "\ NS6 =" + s6;
27
28 JOptionPane.showMessageDialog (null, la produccin,
29
30
31 System.exit (0);
32}
33
34} // fin de la clase StringConstructors
Longitud Mtodo
Determinacin de la longitud de cuerda
instancia
Mtodo charAt
Obtn carcter en la ubicacin especfica en Cadena
GetChars Mtodo
Obtener todo el conjunto de caracteres en cadena
2003 Prentice Hall, Inc.
Contorno
StringMiscellaneous.java
Lnea 16
Lnea 21
1 // Fig. 11.2: StringMiscellaneous.java
2 // Este programa demuestra la longitud, charAt y getChars
3 // mtodos de la clase String.
4 javax.swing importacin. *;
5
6 pblica clase StringMiscellaneous {
7
8
9{
10 Cadena s1 = "hola";
11
12
13 String salida = "s1:" + s1;
14
15
Contorno
StringMiscellaneous.java
Lnea 25
23
24
33
JOptionPane.INFORMATION_MESSAGE);
34
35 System.exit (0);
36}
37
38} // fin de la clase StringMiscellaneous
Mtodo equalsIgnoreCase
Mtodo compareTo
RegionMatches Mtodo
Contorno
StringCompare.java
Lnea 18
Lnea 24
1 // Fig. 11.3: StringCompare.java
2 // mtodos de Cuerda es igual, equalsIgnoreCase, compareTo y regionMatches.
Javax.swing.JOptionPane 3 de importacin;
4
5 pblica clase StringCompare {
6
7
8{
9 s1 String = new String ("hola"); // s1 es una copia de "hola"
10 Cadena s2 = "adis";
11 Cadena s3 = "feliz cumpleaos";
12 s4 String = "feliz cumpleaos";
13
14 String salida = "s1 =" + s1 + "\ ns2 =" + s2 + "\ ns3 =" + s3 +
15
16
17
18
ms
24
ms
Mtodo es igual a las pruebas de dos objetos para la igualdad mediante la comparacin lexicogrfica
Operador de igualdad (==) pruebas si ambas referencias se refieren al mismo objeto en la memoria
Contorno
StringCompare.java
Lnea 30
Lneas 36-40
Lnea 43 y 49
28
29
30
32
ms
// CompareTo prueba
38
39
40
41
42
43
45
ms
49
ms
Prueba de dos objetos para la igualdad, pero ignorar el caso de las letras en Cuerdas
Mtodo compareTo compara objetos String
Contorno
StringCompare.java
53
54 JOptionPane.showMessageDialog (null, la produccin,
55
56
57 System.exit (0);
58}
59
Contorno
StringStartEnd.java
Lnea 15
Lnea 24
1 // Fig. 11.4: StringStartEnd.java
2 // mtodos de Cuerda startsWith y endsWith.
3 javax.swing importacin. *;
4
5 pblica clase StringStartEnd {
6
7
8{
9 cadenas String [] = {"empezaron", "a partir de", "termin", "final"};
13
14
15
16 de salida + = "+ cuerdas" \ "[cuenta] +" \ "comienza con \" c \ "\ n";
17
18 salida + = "\ n";
19
20
21
// 2 de la cadena
22
23
24
Contorno
StringStartEnd.java
Lnea 33
27
28 salida + = "\ n";
29
30
31
32
33
34 de salida + = "\" "+ cuerdas [cuenta] +" \ "termina con \" ed \ "\ n";
35
36 JOptionPane.showMessageDialog (null, la produccin,
37
38
39 System.exit (0);
40}
41
42} // fin de la clase StringStartEnd
Contorno
StringIndexMethods.java
Lneas 12-16
Lneas 19-26
1 // Fig. 11.5: StringIndexMethods.java
2 // Cuerda mtodos de bsqueda indexOf y lastIndexOf.
3 javax.swing importacin. *;
4
5 pblica StringIndexMethods clase {
6
7
8{
9 cartas de Cuerda = "abcdefghijklmabcdefghijklm";
10
11
Contorno
StringIndexMethods.java
Lneas 29-46
28
31
32 salida + = "\ n \" def \ "se encuentra en el ndice" +
33 letters.indexOf ("def", 7);
34
35 salida + = "\ n \" hola \ "se encuentra en el ndice" +
36 letters.indexOf ("hola");
37
38
44
45 salida + = "\ nLast \" hola \ "se encuentra en el ndice" +
46 letters.lastIndexOf ("hola");
47
48 JOptionPane.showMessageDialog (null, la produccin,
49
50
51 System.exit (0);
52}
53
54} // fin de la clase StringIndexMethods
Contorno
StringIndexMethods.java
Contorno
SubString.java
Lnea 13
Lnea 16
8{
9 cartas de Cuerda = "abcdefghijklmabcdefghijklm";
10
11
14
15 salida + = "Subcadena de ndice de 3 hasta 6 es" +
16
17
18 JOptionPane.showMessageDialog (null, la produccin,
19
20
21 System.exit (0);
22}
23
24} // fin de la clase subcadena
Contorno
StringConcatenation.java
Lnea 14
Lnea 15
1 // Fig. 11.7: StringConcatenation.java
2 mtodo concat // String.
3 javax.swing importacin. *;
4
5 pblica clase StringConcatenation {
6
7
8{
9 s1 String = new String ("Happy");
10 s2 String = new String ("Cumpleaos");
11
12 String salida = "s1 =" + s1 + "\ ns2 =" + s2;
13
14 salida + = "\ n \ nResult de s1.concat (s2) =" + s1.concat (s2);
15 salida + = "\ ns1 despus de concatenacin =" + s1;
16
19
20 System.exit (0);
21}
22
23} // fin de la clase StringConcatenation
Contorno
StringMiscellaneous2.java
Lnea 17
Lnea 20
Lnea 21
Lnea 24
1 // Fig. 11.8: StringMiscellaneous2.java
2 // mtodos de Cuerda reemplazan, toLowerCase, toUpperCase, asiento y ToCharArray.
3 javax.swing importacin. *;
4
5 pblica clase StringMiscellaneous2 {
6
7
8{
9 s1 String = new String ("hola");
10 s2 String = new String ("adis");
11 Cadena s3 = new String ("espacios");
12
13 String salida = "s1 =" + s1 + "\ ns2 =" + s2 + "\ ns3 =" + s3;
14
15
22
23
24 salida + = "\ n \ ns3 despus del ajuste = \" "+ s3.trim () +" \ "";
25
Utilice el mtodo toUpperCase para volver copia s1 en el que cada personaje es mayscula
Utilice el mtodo del ajuste para volver copia s3 en el que se elimina el espacio en blanco
Utilice el mtodo toLowerCase para volver copia s2 en el que cada personaje es mayscula
Utilice el mtodo reemplazar a regresar copia s1 en el que cada ocurrencia de 'l' se sustituye por 'L'
Contorno
StringMiscellaneous2.java
Lnea 27
26
27
34
35
36 System.exit (0);
37}
38
39} // fin de la clase StringMiscellaneous2
Contorno
StringValueOf.java
Lneas 20-26
1 // Fig. 11.9: StringValueOf.java
2 mtodos // Cadena valueOf.
3 javax.swing importacin. *;
4
5 pblica clase StringValueOf {
6
7
8{
9
10
11
12
int IntegerValue = 7;
13
14
15
20
21
22
23
24
25
26
mtodo esttico valueOf de la clase String devuelve representacin String de varios tipos
Contorno
StringValueOf.java
27
28 JOptionPane.showMessageDialog (null, la produccin,
29
30
31 System.exit (0);
32}
33
34} // fin de la clase StringValueOf
adicionales
Capacidad de 16 caracteres
Contorno
StringBufferConstructors.java
Lnea 9
Lnea 10
Lnea 11
Lneas 13-15
1 // Fig. 11.10: StringBufferConstructors.java
2 constructores // StringBuffer.
3 javax.swing importacin. *;
4
5 pblica StringBufferConstructors clase {
6
7
8{
9 StringBuffer Buffer1 = new StringBuffer ();
10 StringBuffer buffer2 = new StringBuffer (10);
11 StringBuffer buffer3 = new StringBuffer ("hola");
12
13 String salida = "Buffer1 = \" "+ buffer1.toString () +" \ "" +
14
15
16
17 JOptionPane.showMessageDialog (null, la produccin,
18
19
20 System.exit (0);
21}
22
23} // fin de la clase StringBufferConstructors
Segundo constructor crea StringBuffer vaco con capacidad de (10) caracteres especificados
En tercer constructor crea StringBuffer con la cadena "hola" y capacidad de 16 caracteres
ToString mtodo devuelve representacin String de StringBuffer
Longitud Mtodo
Longitud Volver StringBuffer
Capacidad de Mtodo
Regreso capacidad StringBuffer
Mtodo setLength
Aumentar o disminuir la longitud StringBuffer
Mtodo ensureCapacity
Contorno
StringBufferCapLen.java
Lnea 12
Lnea 12
Lnea 14
Lnea 17
8{
9 bfer StringBuffer = new StringBuffer ("Hola, cmo ests?");
10
11 String salida = "buffer =" + buffer.toString () + "\ nLongitud =" +
12 buffer.length (+) "\ ncapacity =" + buffer.capacity ();
13
14 buffer.ensureCapacity (75);
15 salida + = "\ n capacidad \ nNueva =" + buffer.capacity ();
16
17 buffer.setLength (10);
18 salida + = "\ n longitud \ nNueva =" + buffer.length () +
19
20
21 JOptionPane.showMessageDialog (null, la produccin,
22
23
JOptionPane.INFORMATION_MESSAGE);
24
Contorno
StringBufferCapLen.java
Mtodo setCharAt
Conjunto de caracteres StringBuffer en el ndice especificado
GetChars Mtodo
Regreso matriz de caracteres de StringBuffer
Mtodo inverso
Invierta contenidos StringBuffer
2003 Prentice Hall, Inc.
Contorno
StringBufferChars.java
Lneas 12-13
Lnea 16
Lneas 22-23
1 // Fig. 11.12: StringBufferChars.java
2 mtodos // StringBuffer charAt, setCharAt, GetChars y marcha atrs.
3 javax.swing importacin. *;
4
5 pblica StringBufferChars clase {
6
8{
9 bfer StringBuffer = new StringBuffer ("hola");
10
11 String salida = "buffer =" + buffer.toString () +
12
13
14
15
Contorno
StringBufferChars.java
Lneas 26
26 buffer.reverse ();
27 salida + = "\ n \ nbuf =" + buffer.toString ();
28
29 JOptionPane.showMessageDialog (null, la produccin,
30
31
JOptionPane.INFORMATION_MESSAGE);
32
33 System.exit (0);
34}
35
Contorno
StringBufferAppend.java
Lnea 21
Lnea 23
Lnea 25
Lnea 27
1 // Fig. 11.13: StringBufferAppend.java
2 // StringBuffer anexar mtodos.
3 javax.swing importacin. *;
4
5 pblica clase StringBufferAppend {
6
7
8{
9 Objeto ObjectRef = "hola";
10 cadena String = "adis";
11
12
13
14
int IntegerValue = 7;
15
16
17
24 buffer.append ("");
25 buffer.append (charArray);
26 buffer.append ("");
27 buffer.append (charArray, 0, 3);
Anexar "abc"
2003 Prentice Hall, Inc.
Todos los derechos reservados.
Contorno
StringBufferAppend.java
Lnea 29-39
28 buffer.append ("");
29 buffer.append (booleanValue);
30 buffer.append ("");
31 buffer.append (characterValue);
32 buffer.append ("");
33 buffer.append (IntegerValue);
34 buffer.append ("");
35 buffer.append (longValue);
36 buffer.append ("");
37 buffer.append (floatValue);
38 buffer.append ("");
39 buffer.append (doubleValue);
40 buffer.append ("");
41 buffer.append (lastBuffer);
42
43 JOptionPane.showMessageDialog (null,
44
45
JOptionPane.INFORMATION_MESSAGE);
46
47 System.exit (0);
48}
49
50} // fin StringBufferAppend
Mtodo de insercin
Contorno
StringBufferInsert.java
Lneas 20-26
1 // Fig. 11.14: StringBufferInsert.java
2 mtodos // StringBuffer insertar y eliminar.
3 javax.swing importacin. *;
4
5 pblica clase StringBufferInsert {
6
7
8{
9 Objeto ObjectRef = "hola";
10 cadena String = "adis";
11
12
13
14
int IntegerValue = 7;
15
16
17
Contorno
StringBufferInsert.java
Lneas 27-38
Lnea 42
Lnea 43
27 buffer.insert (0, "");
28 buffer.insert (0, booleanValue);
29 buffer.insert (0, "");
30 buffer.insert (0, characterValue);
31 buffer.insert (0, "");
32 buffer.insert (0, IntegerValue);
33 buffer.insert (0, "");
49
50 System.exit (0);
51}
52
53} // fin de la clase StringBufferInsert
Contorno
StringBufferInsert.java
Boolean
Personaje
Doble
Flotador
Byte
Corto
Entero
Largo
Contorno
StaticCharMethods.java
1 // Fig. 11.15: StaticCharMethods.java
2 mtodos de prueba del carcter // estticas y mtodos de conversin caso.
3 import java.awt. *;
4 java.awt.event importacin. *;
5 javax.swing importacin. *;
6
7 pblica clase StaticCharMethods extiende JFrame {
8
privado Char c;
10
11
12
13
14
StaticCharMethods pblicos ()
15 {
16
17
18 Container contenedor = getContentPane ();
19 container.setLayout (new FlowLayout ());
20
21 promptLabel = new JLabel ("Introduzca un carcter y pulse Enter");
22 contenedor.add (promptLabel);
23 inputField = new JTextField (5);
24
Contorno
StaticCharMethods.java
25 inputField.addActionListener (
26
27
28
29
30
31 {
32 Cadena s = event.getActionCommand ();
33 c = s.charAt (0);
34 buildOutput ();
35}
36
37} // fin de la clase interna annima
38
39); // fin de la llamada a addActionListener
40
41 contenedor.add (InputField);
42 areaSalida = new JTextArea (10, 20);
43 contenedor.add (areaSalida);
44
45 setSize (300, 220); // establecer el tamao de la ventana
46 setVisible (true); // mostrar la ventana
47
48} // fin del constructor
49
Contorno
StaticCharMethods.java
Lnea 54
Lnea 56
Lnea 58
Lnea 59
Lnea 60
Lneas 61-62
50
51
52 {
53 outputArea.setText ("se define:" + Character.isDefined (c) +
54
55
56 Character.isJavaIdentifierStart (c) +
57
58 Character.isJavaIdentifierPart (c) +
59
60
61
62
63
64
65}
66
67
68
69 {
70 StaticCharMethods aplicacin = nuevos StaticCharMethods ();
71 application.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
72}
73
74} // fin de la clase StaticCharMethods
Contorno
StaticCharMethods.java
Contorno
StaticCharMethods2.java
1 // Fig. 11.15: StaticCharMethods2.java
2 mtodos de conversin de caracteres // estticas.
3 import java.awt. *;
4 java.awt.event importacin. *;
5 javax.swing importacin. *;
6
7 pblica clase StaticCharMethods2 extiende JFrame {
8
privado Char c;
10
11
12
13
14
15
StaticCharMethods2 pblico ()
16 {
17
18
19 Container contenedor = getContentPane ();
20 container.setLayout (new FlowLayout ());
21
22 prompt1 = new JLabel ("Introduzca un dgito o carcter");
23 de entrada = new JTextField (5);
24 contenedor.add (prompt1);
25 contenedor.add (entrada);
Contorno
StaticCharMethods2.java
Lnea 44
26
27 prompt2 = new JLabel ("Introduzca un radix");
28 radixField = new JTextField (5);
29 contenedor.add (prompt2);
30 contenedor.add (radixField);
31
36
37
38
39 {
40 dgitos = Integer.parseInt (input.getText ());
41 radix = Integer.parseInt (radixField.getText ());
42 JOptionPane.showMessageDialog (null,
43
45}
46
47} // fin de la clase interna annima
48
49); // fin de la llamada a addActionListener
50
Utilice el mtodo forDigit convertir int dgitos para el nmero de caracteres del sistema especificado
Contorno
StaticCharMethods2.java
Lnea 64
55
56
57
58 {
59 Cadena s = input.getText ();
60 c = s.charAt (0);
61 radix = Integer.parseInt (radixField.getText ());
62 JOptionPane.showMessageDialog (null,
63
Utilice el mtodo dgitos para convertir carbn c para entero nmero del sistema especificado por int
radix
Contorno
StaticCharMethods2.java
76
77
78
79 {
80 aplicaciones StaticCharMethods2 = new StaticCharMethods2 ();
81 application.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
82}
83
Contorno
OtherCharMethods.java
Lneas 12-15
1 // Fig. 11.17: OtherCharMethods.java
2 // mtodos carcter no estticos.
3 javax.swing importacin. *;
4
5 pblica OtherCharMethods clase {
6
7
8{
C1 = 9 Carcter nuevo personaje ('A');
C2 10 caracteres = new Carcter ('a');
11
12 String salida = "c1 =" + c1.charValue () +
13
14
15
si (c1.equals (c2))
ms
21
22
JOptionPane.INFORMATION_MESSAGE);
23
24 System.exit (0);
25}
26
27} // fin de la clase OtherCharMethods
Tokenizer
Cadena de reparto en subcadenas individuales
Uso delimitador
Contorno
TokenTest.java
Lnea 24
1 // Fig. 11.18: TokenTest.java
2 clase // StringTokenizer.
3 import java.util. *;
4 import java.awt. *;
5 java.awt.event importacin. *;
6 javax.swing importacin. *;
7
10
11
12
13
14
TokenTest pblico ()
15 {
16
17
18 Container contenedor = getContentPane ();
19 container.setLayout ( nueva FlowLayout ());
20
Contorno
TokenTest.java
25 inputField.addActionListener (
26
27
28
29
30
31 {
32 fichas StringTokenizer =
33
34
35 outputArea.setText ( "Nmero de elementos:" +
36 tokens.countTokens () + "tokens \ nLos son: \ n" );
37
38
Utilice StringTokenizer para analizar el uso de cuerdas delimitador predeterminado " \ n \ t \ r "
Contar el nmero de fichas
Anexar al lado de contadores a areaSalida, mientras existan tokens
Contorno
TokenTest.java
54
55
// Ejecutar la aplicacin
56
57 {
58 aplicaciones TokenTest = nueva TokenTest ();
59 application.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE );
60 }
61
62 } // fin de la clase TokenTest
tarjeta "
Usuario baraja cubierta haciendo clic en "Aleatorio botn de
tarjetas "
Contorno
DeckOfCards.java
Lneas 19 y 29 de la lnea 30
10
11
12
13
14
15
pblicas DeckOfCards ()
16 {
17
18
19 Cadena enfrenta [] = { "Ace" , "Deuce" , "Tres" , "cuatro" , "cinco" , "seis" ,
20
Baraja de 52 cartas
Ms recientemente tratado tarjetas en orden mazo (-1 si no hay cartas han sido repartidas)
Contorno
DeckOfCards.java
Lneas 27-29
Lnea 43
Lnea 46
26
27
36 dealButton.addActionListener (
37
38
39
40
// Contrato de un tarjeta
41
42 {
43 Tarjeta trat = dealCard ();
44
45
si (tratado! = nula ) {
49
else {
Contorno
DeckOfCards.java
Lnea 70
54
55 } // fin de la clase interna annima
56
57 ); // fin de la llamada a addActionListener
58
59 contenedor.add (dealButton);
60
61 shuffleButton = nuevo JButton ( "Aleatorio cartas" );
62 shuffleButton.addActionListener (
63
64
65
66
// Cubierta aleatoria
67
68 {
69 displayField.setText ( "arrastrando los pies ..." );
70 shuffle ();
71 displayField.setText ( "cartas se barajan" );
72 }
73
74 } // fin de la clase interna annima
75
76 ); // fin de la llamada a addActionListener
77
78 contenedor.add (shuffleButton);
Cuando el usuario pulsa el botn Aleatorio Tarjetas, mtodo aleatorio baraja tarjetas
Contorno
DeckOfCards.java
Lneas 92-102
79
80 displayField = nueva JTextField ( 20 );
81 displayField.setEditable ( false );
82 contenedor.add (displayField);
83
84 statusLabel = nueva JLabel ();
85 contenedor.add (statusLabel);
86
92
93 {
94 currentCard = -1 ;
95
96
97
98
Baraja las tarjetas mediante el canje de cada tarjeta con la tarjeta seleccionada al azar
Contorno
DeckOfCards.java
106
107
// Contrato de un tarjeta
108
109 {
110
111
112
else {
retorno nulo;
115 }
116 }
117
118
// Ejecutar la aplicacin
119
120 {
121 DeckOfCards aplicacin = nuevos DeckOfCards ();
122
123 application.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE );
124 }
125
126 } // fin de la clase DeckOfCards
127
Si la cubierta no est vaca, se devuelve una referencia de objeto Tarjeta; de lo contrario, se devuelve
nulo
Mtodo setEnabled activa y desactiva JButton
Contorno
DeckOfCards.java Lneas 130-131
128 // clase para representar una tarjeta
129 clase Card {
130
131
132
133
134
135 {
136 face = cardFace;
137 traje = cardSuit;
138 }
139
140
141
142 {
143
144 }
145
146 } // fin de la clase de tarjeta
Clase Modelo
Una expresin regular inmutable
Clase Partido
Una operacin de la expresin regular de juego
Contorno
ValidateFrame.java
1 // Fig. 11.21: ValidateFrame.java
2 // informacin de usuario Validar el uso de expresiones regulares.
3 import java.awt. *;
4 importacin java.awt.event. *;
5 de importaciones javax.swing. *;
6
7 pblica clase ValidateFrame extiende JFrame {
8
11
pblico ValidateFrame ()
12 {
13
sper ( "Validar" );
14
15 // crear los componentes GUI
16 JLabel phoneLabel = nueva JLabel ( "Telfono" );
17 JLabel zipLabel = nueva JLabel ( "Zip" );
18 JLabel stateLabel = nueva JLabel ( "Estado" );
19 JLabel cityLabel = nueva JLabel ( "Ciudad" );
20 JLabel direccinEtiqueta = nueva JLabel ( "Direccin" );
21 JLabel FirstLabel = nueva JLabel ( "Nombre" );
22 JLabel LastLabel = nueva JLabel ( "Last Name" );
23
Contorno
ValidateFrame.java
25 okButton.addActionListener (
26
27
28
29
30 validateDate ();
31 }
32
33 } // fin de la clase interna
34
35 ); // fin de la llamada a addActionListener
36
37 phoneTextField = nueva JTextField ( 15 );
38 zipTextField = nueva JTextField ( 5 );
39 stateTextField = nueva JTextField ( 2 );
40 cityTextField = nuevo JTextField ( 12 );
41 addressTextField = nuevo JTextField ( 20 );
42 firstTextField = nuevo JTextField ( 20 );
43 lastTextField = nuevo JTextField ( 20 );
44
45 JPanel firstName = nueva JPanel ();
46 firstName.add (FirstLabel);
47 firstName.add (firstTextField);
48
49 JPanel lastName = nueva JPanel ();
50 lastName.add (LastLabel);
51 lastName.add (lastTextField);
Contorno
ValidateFrame.java
52
53 JPanel address1 = nuevos JPanel ();
54 address1.add (direccinEtiqueta);
55 address1.add (addressTextField);
56
70 ok.add (okButton);
71
72 // agregar los componentes de la aplicacin
73 Container contenedor = getContentPane ();
74 container.setLayout ( nueva GridLayout ( 6 , 1 ));
75
Contorno
ValidateFrame.java
76 contenedor.add (firstName);
77 contenedor.add (lastName);
78 contenedor.add (address1);
79 contenedor.add (address2);
80 contenedor.add (telfono);
81 contenedor.add (ok);
82
83 setSize ( 325 , 225 );
84 setVisible ( verdadero );
85
86 } // fin del constructor ValidateFrame
87
88
89 {
90 aplicaciones ValidateFrame = nueva ValidateFrame ();
91 application.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE );
92 }
93
94 // maneja evento action okButton
Contorno
ValidateFrame.java Lneas 109-118
95
96 {
97 // asegurar que no hay cuadros de texto estn vacas
98
115
116 // si el formato de direccin no vlida mensaje espectculo
117
118
Contorno
ValidateFrame.java Lneas 122-137
121 // si el formato de la ciudad no vlido mensaje espectculo
122
123
136
137
Contorno
ValidateFrame.java
Mensaje de error si TextBox deja en blanco
Seal de que la "postal" TextBox se ingres incorrectamente
Significan que todos los TextBox es se introdujeron en el formato correcto
Contorno
RegexSubstitution.java Lnea 15 Lnea 20 Lnea 26
3 de importacin javax.swing. *;
4
5 pblica clase RegexSubstitution
6{
7
8{
9 Cadena firstString = "Esta frase termina en 5 estrellas *****" ;
10 Cadena secondString = "1, 2, 3, 4, 5, 6, 7, 8" ;
11
12 String salida = "String original 1:" + firstString;
13
14 // reemplazar '*' con '^'
15 firstString = firstString.replaceAll ( "\\ *" , "^" );
16
17 salida + = "\ n ^ sustituido por *:" + firstString;
18
19 // reemplazar 'estrellas' con 'signos de intercalacin'
20 firstString = firstString.replaceAll ( "estrellas" , "CARET" );
21
22 de salida + = signos de intercalacin "\ n \" \ "sustituir \" estrellas \ ":" + firstString;
23
24 // reemplazar palabras con 'palabra'
25 salida + = "palabra \ Nevery reemplazado por \" palabra \ ":" +
26 firstString.replaceAll ( "\\ w +" , "palabra" );
Contorno
RegexSubstitution.java Lnea 32 Lnea 38
27
28 salida + = "\ n \ nOriginal Cadena 2:" + secondString;
29
30 // reemplazar tres primeros dgitos con 'dgito'
31
47 System.exit ( 0 );
48
49 } // fin del mtodo principal
50
51 } // fin de la clase RegexSubstitution
Contorno
RegexSubstitution.java
Contorno
Lnea 24
Lnea 25
1 // Fig. 11.24: RegexMatches.java
2 // Demostracin de clases Pattern y Matcher.
3 de importacin java.util.regex. *;
4 importacin javax.swing. *;
5
6 clase RegexMatches
7{
8
9{
10 String salida = "" ;
11
12 // crear expresiones regulares
13 expresin del patrn =
14 Pattern.compile ( "J * \\ d [0-35-9] - \\ d \\ d - d \\ \\ d." );
15
16 cadena1 String = "El cumpleaos de Jane es 5.12.75 \ n" +
17
18
19
20
21 // partido expresin regular a los partidos de cuerda y de impresin
22 Matcher matcher = expression.matcher (cadena1);
23
24
Contorno
RegexMatches.java
26
27 JOptionPane.showMessageDialog ( nula , de salida);
28 System.exit ( 0 );
29
30 } // fin principal
31
32 } // fin de la clase RegexMatches
Elevator 's
Contorno
ElevatorSimulationEvent.java
Lnea 8
Lnea 11 Lnea 14
1 // ElevatorSimulationEvent.java
2 // Bsica paquetes evento sosteniendo objeto Ubicacin
3 paquete com.deitel.jhtp5.elevator.event;
4
5 // paquetes Deitel
6 importacin com.deitel.jhtp5.elevator.model. *;
7
8 public class ElevatorSimulationEvent {
9
10 // Ubicacin que gener ElevatorSimulationEvent
11
12
13 // fuente de generada ElevatorSimulationEvent
14
15
16 // ElevatorSimulationEvent constructor establece Ubicacin
17
18 la ubicacin, ubicacin)
19 {
20 setFuente (fuente);
21 setLocation (ubicacin);
22 }
23
Contorno
ElevatorSimulationEvent.java
26 {
27 ubicacin = Eventlocation;
28}
29
30 // obtener ElevatorSimulationEvent Ubicacin
31
32 {
33
volver ubicacin;
34 }
35
36 // establecer fuente ElevatorSimulationEvent
37
38 {
39 fuente = EventSource;
40 }
41
42 // get source ElevatorSimulationEvent
43
44 {
45
volver fuente;
46 }
47 }
Solucin:
Crear varias subclases ElevatorSimulationEvent
BellEvent
DoorEvent
PersonMoveEvent
ButtonEvent
ElevatorMoveEvent
LightEvent
eventos
Fig. 11.28 diagrama de colaboracin Modificado para los pasajeros entrar y salir
del ascensor en el primer piso
: Ascensor
firstFloorLight: Luz
firstFloorButton: Button
: ElevatorShaft
waitingPassenger: Persona
: ElevatorDoor
firstFloorDoor: Puerta
ridingPassenger: Persona
: Campana
2.1: ringBell ()
elevatorButton: Button
1.1: resetButton ()
3: elevatorArrived (ElevatorMoveEvent)
estructura
evento
Contorno
ElevatorMoveEvent.java
1 // ElevatorMoveEvent.java
2 // Indica en qu piso llegaron o partieron del Ascensor
3 paquete com.deitel.jhtp5.elevator.event;
4
5 paquete // Deitel
6 importacin com.deitel.jhtp5.elevator.model. *;
7
8 public class ElevatorMoveEvent extiende ElevatorSimulationEvent {
9
10 // ElevatorMoveEvent constructor
11
12 {
13
14 }
15 }
Contorno
ElevatorMoveListener.java
1 // ElevatorMoveListener.java
2 // Mtodos invocados cuando Ascensor ha ido bien o llegado
3 paquete com.deitel.jhtp5.elevator.event;
4
9
10
11
12 }
Seales (eventos)
por ejemplo, Ascensor seales llegada a Luz
Asociaciones de autnomos
por ejemplo, la luz se convierte en s y fuera
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
Prensas
Seales para mover
Restablece
Abre / Cierra
Ocupa
Signalsarrival
Activa / desactiva
Anillos
Puerta
Botn
Ubicacin
Las seales de la llegada
Signalsarrival
Signalsarrival
Signalsarrival
Signalsarrival
Informa de apertura
1
1
1
1
1
1
1
1
1
1
1
Abre / Cierra
1
ElevatorDoor
1