La zona de descarga está en mi base en pCloud.com
Para descargar todo el proyecto para JDeveloper haz clic aquí.
En el directorio base/Proyecto/JDeveloper/EjSwing están todos los ficheros necesarios para compilar.
Para aprender a conocer el entorno de programación Oracle JDevelper, visita la página
<<Getting Started With the JDeveloper IDE>>
1 // Ventana.java 2 // Octulio Biletán * Noviembre de 2020. 3 // Programa simple que utiliza la biblioteca de clases Java Swing. 4 // Ingresar a directorio fuente\ y realizar los siguientes pasos 5 // en el procesador de comandos de Windows: 6 // 1)Compilar en Windows: javac -encoding UTF-8 cliente\Ventana.java 7 // 2)Invocar en Windows: java cliente/Ventana 8 // 3)Crear ejecutable JAR: jar cvf cliente\Ventana.jar cliente\Ventana.class 9 // 4)Invocar en Windows: java cliente.Ventana 10 // Lectura: Java Programming, ninth edition (2019), Joyce Farrell, cap. 14, pag. 699. 11 12 package cliente; 13 14 import java.awt.Color; 15 import java.awt.Dimension; 16 import java.awt.Font; 17 import java.awt.Toolkit; 18 import java.awt.event.ActionEvent; 19 import java.awt.event.ActionListener; 20 import java.awt.event.KeyEvent; 21 22 import javax.swing.JButton; 23 import javax.swing.JFrame; 24 import javax.swing.JLabel; 25 import javax.swing.JOptionPane; 26 import javax.swing.JSeparator; 27 import javax.swing.SwingConstants; 28 29 /** 30 * Clase Ventana que construye y muestra una ventana decorada. 31 * @author Octulio Biletán * Noviembre de 2020. 32 * @version 1.11.24.20 33 */ 34 public final class Ventana 35 { 36 /** 37 * Método principal de la clase Ventana. 38 * @param args Los argumentos que vienen desde la línea de comandos. 39 */ 40 public static void main(String[] args) 41 { 42 // Activa el decorado de la ventana 43 JFrame.setDefaultLookAndFeelDecorated(true); 44 45 // Crea la ventana y le pone un título 46 JFrame miVentana = new JFrame("Mi primera ventana"); 47 48 // Crea una línea de texto simple 49 JLabel miMensaje = new JLabel("¡Esto es Java Swing!"); 50 51 // Crea un botón para cerrar la ventana 52 JButton miBoton = new JButton("Cerrar"); 53 54 // Crea una línea horizontal 55 JSeparator miLineaHorizontal = new JSeparator(SwingConstants.HORIZONTAL); 56 57 // Asocia un evento con el botón "Cerrar" 58 miBoton.addActionListener 59 ( 60 new ActionListener() 61 { 62 // Método receptor de la pulsación del botón (evento Cerrar) 63 public void actionPerformed(ActionEvent e) 64 { 65 // Hace sonar un timbre en el parlante 66 Toolkit.getDefaultToolkit().beep(); 67 68 // Pregunta si sale de la aplicación 69 int status = JOptionPane.showConfirmDialog(miVentana, "¿Salgo o no salgo?", "Aviso", JOptionPane.YES_NO_OPTION); 70 if(status == 0) 71 { 72 // Destruye toda la ventana 73 miVentana.dispose(); 74 75 // Devuelve 0 al S.O. 76 System.exit(status); 77 } 78 }; 79 } 80 ); 81 82 // Responde a la pulsación de teclas Alt+F4 == Cerrar 83 miVentana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 84 85 // Selecciona una organización libre de los componentes sobre la ventana 86 miVentana.setLayout(null); 87 88 // Alternativa: 89 // Ajusta y organiza los componentes de la ventana de izquierda a derecha 90 //miVentana.setLayout(new FlowLayout(FlowLayout.LEADING)); 91 92 // Establece negrita, 24 pts. a la fuente de caracteres 93 miMensaje.setFont(miMensaje.getFont().deriveFont(Font.BOLD, 24)); 94 95 // Establece color rosa al tipo de fuente actual 96 miMensaje.setForeground(new Color(255,0,255)); 97 98 // Dimensiona la ventana (ancho,alto) 99 miVentana.setSize(320, 240); 100 101 // Dimensiona el tamaño mínimo de la ventana (ancho,alto) 102 miVentana.setMinimumSize(new Dimension(274,180)); 103 104 // Ubica la ventana en la pantalla (x,y) 105 miVentana.setLocation(16, 8); 106 107 // La hace visible al momento de la ejecución 108 miVentana.setVisible(true); 109 110 // Agrega a la ventana el componente etiqueta de texto 111 miVentana.add(miMensaje); 112 113 // Establece las dimensiones para el mensaje a visualizar 114 miMensaje.setBounds(8, 8, 264, 28); 115 116 // Agrega a la ventana la línea horizontal 117 miVentana.add(miLineaHorizontal); 118 119 // Establece las dimensiones de la línea horizontal (x,y,largo,alto) 120 miLineaHorizontal.setBounds(8, 40, 252, 2); 121 122 // Agrega a la ventana el componente botón 123 miVentana.add(miBoton); 124 125 // Establece las dimensiones para el botón a visualizar 126 miBoton.setBounds(90, 50, 80, 20); 127 128 // Establece que las teclas 'Alt+C' respondan al evento 'Cerrar' del botón 129 miBoton.setMnemonic(KeyEvent.VK_C); 130 131 // La hace visible y efectiva 132 miVentana.validate(); 133 } 134 }