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
}