Código de Java - Menu de presentación

Imágen de perfil
Val: 230
Bronce
Ha disminuido su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Menu de presentacióngráfica de visualizaciones


Java

estrellaestrellaestrellaestrellaestrella(3)
Actualizado el 23 de Febrero del 2020 por Yacoobs (Publicado el 21 de Febrero del 2020)
288 visualizaciones desde el 21 de Febrero del 2020
Hacia mucho tiempo que no subía nada y he creído conveniente mostrar una forma sencilla y elegante de mostrar una primera ventana de presentación de tu programa, al mismo tiempo te puede promocionar y puedes añadir enlaces para que la gente te conozca mejor
El programa es muy simple, un Frame con una imagen de fondo unos botones con imagen y un JtextArea donde se plasma tu mensaje de presentación, este mensaje se lee automáticamente desde un archivo txt alojado en el mismo programa, de esa forma es mas como editar dicho mensaje desde fuera sin necesidad de usar ningún programa para abrir el proyecto.
La ventana tiene características para mover la usando el click del ratón y arrastrar al mismo tiempo cambia su opacidad volviéndola transparente. Para terminar cuando cierras o lanzas tu programa este da un efecto de cerrado como si la ventana se desvanece poco a poco.
Importante:
Para el uso de este tipo de efecto el JFrame su metodo Undercorated (true)...


Muchas gracias y saludos

https://www.youtube.com/channel/UChFlaF3Ji9vWhizWyhBQdBg

Requerimientos

El programa precisa de imágenes y un archivo txt, dejare un enlace a mi Discord para que puedan descargar el proyecto completo.
En el apartado todo-descargas (discord se encuentran mis proyectos)

How to contact me at DISCORD & Como contactar conmigo en DISCORD.
https://discord.gg/kBn3jN2

0.1
estrellaestrellaestrellaestrellaestrella(3)

Publicado el 21 de Febrero del 2020gráfica de visualizaciones de la versión: 0.1
289 visualizaciones desde el 21 de Febrero del 2020
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Imagen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
package menu_de_inicio;
 
import java.awt.Color;
import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
 
/**
 * Aprende Java con Yacoobs
 * @author Yacoobs C. M.
 * https://www.youtube.com/channel/UChFlaF3Ji9vWhizWyhBQdBg?view_as=subscriber
 * Para contactar conmigo: reyrelampago2005@gamil.com
 * Dia Creación 20-feb-2020
 * Tiempo Creación 12:32:16
 *
 */
 
public final class Menu_de_inicio extends javax.swing.JFrame {
 
    public static String Version = "Yacoobs & BenchMark FPS";
    private int Cor_X, Cor_Y;
    private float Opacidad;
    private boolean bloquear;
 
    public Menu_de_inicio()
    {
        initComponents();
        Opacidad = 1f;
        bloquear = false;
 
        ColocarVentanaCentrada();
 
        jTextArea_Mensaje.setText(leerTxt(getClass().getResourceAsStream("/Otros/Leer.txt")));
 
        jTextArea_Mensaje.setBackground(new Color(255, 255, 255, 0));
        jTextArea_Mensaje.setOpaque(false);
        JScroll_TextArea.setOpaque(false);
        jTextArea_Mensaje.setLineWrap(true);
        jTextArea_Mensaje.setWrapStyleWord(true);
        jTextArea_Mensaje.setCaretPosition(0);
        //jTextArea_Mensaje.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
        JScroll_TextArea.getViewport().setOpaque(false);
    }
 
 
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
 
        Button_Donacion = new javax.swing.JButton();
        Button_Enlace = new javax.swing.JButton();
        Button_Salir = new javax.swing.JButton();
        Button_Jugar = new javax.swing.JButton();
        JScroll_TextArea = new javax.swing.JScrollPane();
        jTextArea_Mensaje = new javax.swing.JTextArea();
        jCheckBox_Validar = new javax.swing.JCheckBox();
        JL_Fondografico = new javax.swing.JLabel();
 
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setUndecorated(true);
        setResizable(false);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
 
        Button_Donacion.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Otros/Donation.png"))); // NOI18N
        Button_Donacion.setBorder(null);
        Button_Donacion.setBorderPainted(false);
        Button_Donacion.setContentAreaFilled(false);
        Button_Donacion.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        Button_Donacion.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                Button_DonacionMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                Button_DonacionMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                Button_DonacionMousePressed(evt);
            }
        });
        getContentPane().add(Button_Donacion, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 580, -1, -1));
 
        Button_Enlace.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Otros/Youtube_f.png"))); // NOI18N
        Button_Enlace.setBorder(null);
        Button_Enlace.setBorderPainted(false);
        Button_Enlace.setContentAreaFilled(false);
        Button_Enlace.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        Button_Enlace.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                Button_EnlaceMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                Button_EnlaceMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                Button_EnlaceMousePressed(evt);
            }
        });
        getContentPane().add(Button_Enlace, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 570, -1, -1));
 
        Button_Salir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Otros/Salir.png"))); // NOI18N
        Button_Salir.setBorder(null);
        Button_Salir.setBorderPainted(false);
        Button_Salir.setContentAreaFilled(false);
        Button_Salir.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        Button_Salir.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                Button_SalirMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                Button_SalirMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                Button_SalirMousePressed(evt);
            }
        });
        getContentPane().add(Button_Salir, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 630, -1, -1));
 
        Button_Jugar.setBackground(new java.awt.Color(0, 0, 0));
        Button_Jugar.setFont(new java.awt.Font("Batang", 1, 24)); // NOI18N
        Button_Jugar.setForeground(new java.awt.Color(204, 204, 204));
        Button_Jugar.setText("Ejecutar Programa");
        Button_Jugar.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        Button_Jugar.setEnabled(false);
        Button_Jugar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                Button_JugarMousePressed(evt);
            }
        });
        getContentPane().add(Button_Jugar, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 570, -1, -1));
 
        JScroll_TextArea.setBackground(new java.awt.Color(0, 0, 0));
        JScroll_TextArea.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
 
        jTextArea_Mensaje.setEditable(false);
        jTextArea_Mensaje.setBackground(new java.awt.Color(102, 102, 102));
        jTextArea_Mensaje.setColumns(20);
        jTextArea_Mensaje.setFont(new java.awt.Font("Cambria Math", 1, 14)); // NOI18N
        jTextArea_Mensaje.setForeground(new java.awt.Color(0, 255, 51));
        jTextArea_Mensaje.setLineWrap(true);
        jTextArea_Mensaje.setRows(5);
        jTextArea_Mensaje.setText("Esto es un mensaje de prueva......");
        JScroll_TextArea.setViewportView(jTextArea_Mensaje);
 
        getContentPane().add(JScroll_TextArea, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 310, 830, 240));
 
        jCheckBox_Validar.setBackground(new java.awt.Color(0, 0, 0));
        jCheckBox_Validar.setFont(new java.awt.Font("Batang", 1, 14)); // NOI18N
        jCheckBox_Validar.setForeground(new java.awt.Color(255, 255, 255));
        jCheckBox_Validar.setText("Validar");
        jCheckBox_Validar.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        jCheckBox_Validar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                jCheckBox_ValidarMousePressed(evt);
            }
        });
        getContentPane().add(jCheckBox_Validar, new org.netbeans.lib.awtextra.AbsoluteConstraints(430, 630, -1, -1));
 
        JL_Fondografico.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Otros/Mi_Menu.jpg"))); // NOI18N
        JL_Fondografico.setToolTipText("Pulsa para arrastrar ventana");
        JL_Fondografico.setCursor(new java.awt.Cursor(java.awt.Cursor.MOVE_CURSOR));
        JL_Fondografico.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
            public void mouseDragged(java.awt.event.MouseEvent evt) {
                JL_FondograficoMouseDragged(evt);
            }
        });
        JL_Fondografico.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                JL_FondograficoMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                JL_FondograficoMouseReleased(evt);
            }
        });
        getContentPane().add(JL_Fondografico, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 900, 700));
 
        pack();
    }// </editor-fold>
 
    private void Button_SalirMousePressed(java.awt.event.MouseEvent evt) {
 
        if (!bloquear)
            HiloEjecu();
 
    }
 
    private void Button_JugarMousePressed(java.awt.event.MouseEvent evt) {
 
        if (Button_Jugar.isEnabled() && !bloquear)
            Arrancar();
    }
 
    private void Button_DonacionMousePressed(java.awt.event.MouseEvent evt) {
        Enlace("https://www.paypal.com/donate/?token=n-vQj2AJU3gKsTVXXgagUYBvOP-bWWWz_9Syhe-JV13VoFshRqX3G86M-JZPBkHkvG9Mbm&country.x=ES&locale.x=ES");
    }
 
    private void Button_EnlaceMousePressed(java.awt.event.MouseEvent evt) {
        Enlace("https://www.youtube.com/channel/UChFlaF3Ji9vWhizWyhBQdBg?view_as=subscriber");
    }
 
    private void Button_DonacionMouseEntered(java.awt.event.MouseEvent evt) {
        EfectoGrafico(160, 52, "/Otros/Donation.png", Button_Donacion);
    }
 
    private void Button_DonacionMouseExited(java.awt.event.MouseEvent evt) {
        EfectoGrafico(150, 42, "/Otros/Donation.png", Button_Donacion);
    }
 
    private void Button_EnlaceMouseEntered(java.awt.event.MouseEvent evt) {
        EfectoGrafico(160, 75, "/Otros/Youtube_f.png", Button_Enlace);
    }
 
    private void Button_EnlaceMouseExited(java.awt.event.MouseEvent evt) {
        EfectoGrafico(150, 65, "/Otros/Youtube_f.png", Button_Enlace);
    }
 
    private void Button_SalirMouseEntered(java.awt.event.MouseEvent evt) {
        EfectoGrafico(60, 60, "/Otros/Salir.png", Button_Salir);
    }
 
    private void Button_SalirMouseExited(java.awt.event.MouseEvent evt) {
        EfectoGrafico(50, 50, "/Otros/Salir.png", Button_Salir);
    }
 
    private void jCheckBox_ValidarMousePressed(java.awt.event.MouseEvent evt) {
        if (!jCheckBox_Validar.isSelected())
        {
            Button_Jugar.setForeground(Color.GREEN);
            Button_Jugar.setEnabled(true);
        }
        else
        {
            Button_Jugar.setForeground(Color.RED);
            Button_Jugar.setEnabled(false);
        }
    }
 
    private void JL_FondograficoMousePressed(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
        setOpacity(0.5f);
        Cor_X = evt.getX();
        Cor_Y = evt.getY();
    }
 
    private void JL_FondograficoMouseReleased(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
        setOpacity(1f);
    }
 
    private void JL_FondograficoMouseDragged(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
        int x = evt.getXOnScreen() - JL_Fondografico.getX();
        int y = evt.getYOnScreen() - JL_Fondografico.getY();
        this.setLocation(x - Cor_X, y - Cor_Y);
    }
 
 
    private void ColocarVentanaCentrada()
    {
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        int WinAncho = (int) screenSize.getWidth() / 2;
        int WinAlto = (int) screenSize.getHeight() / 2;
 
        int Ven_Ancho = (int) getWidth() / 2;
        int Ven_Alto =  (int) getHeight() / 2;
 
        setBounds(WinAncho - Ven_Ancho, WinAlto - Ven_Alto, getWidth(), getHeight());
    }
 
    private void Enlace(String link)
    {
        try
        {
            Desktop.getDesktop().browse(new URI(link));
        }
        catch (URISyntaxException localURISyntaxException)
        {
            System.out.println("Error 1000 URISyntaxException");
        }
        catch (IOException localIOException)
        {
            System.out.println("Error 1100 IOException");
        }
        catch (NullPointerException localNullPointerException)
        {
            System.out.println("Error 1200 NullPointerException");
        }
    }
 
    private void EfectoGrafico(int W, int H, String ruta, JButton boton)
    {
        try
        {
            ImageIcon fot = new ImageIcon(getClass().getResource(ruta));
            Icon icono = new ImageIcon(fot.getImage().getScaledInstance(W, H, 1));
            boton.setIcon(icono);
        }
        catch (NullPointerException paramString)
        {
          System.out.println("Error..... NullPointException " + paramString);
        }
    }
 
    public static void main(String[] paramArrayOfString)
    {
        new Menu_de_inicio().setVisible(true);
    }
 
    //Metodo que lee y devuelve el contenido del archivo TXT.
    public  String leerTxt(InputStream ruta)
    {
        BufferedReader bufferedrender = null;
        String texto, obtener = "";
        try
        {
            // Esta clase a la diferencia de FileReader es que nos permite leer linea a linea el contenido del archivo.
            bufferedrender = new BufferedReader(new InputStreamReader(ruta));
 
            // Recorremos un bucle para obtener todos los datos del archivo mienntras este no devuelva null;
            while((texto=bufferedrender.readLine())!=null)
                obtener = obtener+texto+"\n";
        }
        catch(IOException e)
        {
            e.printStackTrace();
            return "No hay mensaje que mostrar......";
        }
 
        return obtener;
    }
 
    private void HiloEjecu()
    {
        bloquear = true;
 
        Thread Hilo = new Thread(() ->
        {
            while (Opacidad>=0.05)
            {
                Opacidad = Opacidad - 0.05f;
                setOpacity(Opacidad);
                try
                {
                    Thread.sleep(100);
                } catch (InterruptedException ex)
                {
                    Logger.getLogger(Menu_de_inicio.class.getName()).log(Level.SEVERE, null, ex);
                }
                repaint();
            }
            System.exit(0);
        });
        Hilo.start();
    }
 
    private void Arrancar()
    {
        bloquear = true;
 
        Thread Hilo = new Thread(() ->
        {
            while (Opacidad>=0.05)
            {
                Opacidad = Opacidad - 0.05f;
                setOpacity(Opacidad);
                try
                {
                    Thread.sleep(100);
                } catch (InterruptedException ex)
                {
                    Logger.getLogger(Menu_de_inicio.class.getName()).log(Level.SEVERE, null, ex);
                }
                repaint();
            }
            //En esta linea de codigo se hace la llamada a la clase que inicia finalmente tu programa..........
            //---------->>>>>>>>>>>>
 
            setVisible(false);
        });
        Hilo.start();
    }
 
 
 
 
    // Variables declaration - do not modify
    private javax.swing.JButton Button_Donacion;
    private javax.swing.JButton Button_Enlace;
    private javax.swing.JButton Button_Jugar;
    private javax.swing.JButton Button_Salir;
    private javax.swing.JLabel JL_Fondografico;
    private javax.swing.JScrollPane JScroll_TextArea;
    private javax.swing.JCheckBox jCheckBox_Validar;
    private javax.swing.JTextArea jTextArea_Mensaje;
    // End of variables declaration
}



Comentarios sobre la versión: 0.1 (3)

Imágen de perfil
21 de Febrero del 2020
estrellaestrellaestrellaestrellaestrella
No consigo el contenido de Discord... estaría bien que lo adjuntaras al código!!!
Responder
Imágen de perfil
21 de Febrero del 2020
estrellaestrellaestrellaestrellaestrella
Lo acabo de comprobar y funciona todo perfectamente... no entiendo el problema, SALUDOS
Responder
Imágen de perfil
22 de Febrero del 2020
estrellaestrellaestrellaestrellaestrella
solo me faltan los paquetes que tienes en tu computadora, en las librerías org.netbeans.lib.awtextra, ya que no consigo probarlo en mi computadora, y hacerle los cambios pertinentes

saludos
Responder

Comentar la versión: 0.1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5950