elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: [1]
1  Programación / Java / Re: Obtener IP con hostname en: 3 Abril 2020, 08:45 am
La linea 62 contiene la magia solo para ipv4  :xD , este ejemplo te sirve para el anterior, y veas como se puede crear un JFrame.(50mil maneras diferentes las hay)

Código
  1. package foro;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.net.Inet4Address;
  6. import java.net.UnknownHostException;
  7. import java.util.function.Predicate;
  8.  
  9. /**
  10.  * https://foro.elhacker.net/java/obtener_ip_con_hostname-t503433.0.html
  11.  * @autor rubn
  12.  */
  13. public class ValidarIp extends JFrame {
  14.  
  15.    private final JLabel jLabelTitulo = new JLabel("Introduce un direccion ip");
  16.    private final JTextField jTextField = new JTextField();
  17.    private final JLabel jLabel = new JLabel("Resultado: ");
  18.    private static final String ESPACIOS = "\\s+";
  19.    private final JPanel mainJPanel = new JPanel();
  20.  
  21.    public ValidarIp() {
  22.        super("Validar Ip");
  23.  
  24.        configureLayouts();
  25.  
  26.        configureJFrame();
  27.    }
  28.  
  29.    private void configureJFrame() {
  30.        add(mainJPanel);
  31.        setResizable(Boolean.FALSE);
  32.        setPreferredSize(new Dimension(366, 150));
  33.        pack();
  34.        setLocationRelativeTo(null);
  35.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  36.        setVisible(true);
  37.    }
  38.  
  39.    private void configureLayouts() {
  40.        mainJPanel.setLayout(new BoxLayout(mainJPanel, BoxLayout.Y_AXIS));
  41.        mainJPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  42.        mainJPanel.add(jLabelTitulo,BorderLayout.NORTH);
  43.        mainJPanel.add(Box.createVerticalStrut(20));
  44.        mainJPanel.add(jTextField,BorderLayout.CENTER);
  45.        mainJPanel.add(Box.createVerticalStrut(20));
  46.        mainJPanel.add(jLabel,BorderLayout.SOUTH);
  47.  
  48.        listenerJTextField();
  49.    }
  50.  
  51.  
  52.    /**
  53.      * Listener del JTextField
  54.      */
  55.    private void listenerJTextField() {
  56.        jTextField.addActionListener(e -> {
  57.            final String ip = jTextField.getText().replaceAll(ESPACIOS,"");
  58.  
  59.            final Predicate<String> predicate = p -> {
  60.                try {
  61.  
  62.                    return Inet4Address.getByName(ip).getHostAddress().equals(ip);
  63.  
  64.                } catch (UnknownHostException ex) {
  65.                    return Boolean.FALSE;
  66.                }
  67.            };
  68.  
  69.            if (predicate.test(ip)) {
  70.  
  71.                JOptionPane.showMessageDialog(null, "Ip valida");
  72.  
  73.            } else {
  74.                JOptionPane.showMessageDialog(null, "Ip invalida");
  75.            }
  76.        });
  77.    }
  78.  
  79.    public static void main(String ...blabla) {
  80.        new Thread(ValidarIp::new).start();
  81.    }
  82. }

Hasta ahora no llego al nivel para utilizar Predicates  :xD . Gracias por tu ayuda amigo, sin embargo lo que en realidad necesito es que desde una caja de texto se ingrese el Hostname y con un boton "check" se obtena la ip de este hostname.

Gracias de ante mano  :laugh:
2  Programación / Java / Re: Agregar Scrollbar a JPanel en: 3 Abril 2020, 05:40 am

Hola, a mi tambien me funciona cuando comento el initComponent.

Mi initComponent:

 
Código
  1.  private void initComponents() {
  2.  
  3.        jPanel1 = new javax.swing.JPanel();
  4.  
  5.        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  6.        jPanel1.setLayout(jPanel1Layout);
  7.        jPanel1Layout.setHorizontalGroup(
  8.            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  9.            .addGap(0, 100, Short.MAX_VALUE)
  10.        );
  11.        jPanel1Layout.setVerticalGroup(
  12.            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  13.            .addGap(0, 100, Short.MAX_VALUE)
  14.        );
  15.  
  16.        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  17.  
  18.        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  19.        getContentPane().setLayout(layout);
  20.        layout.setHorizontalGroup(
  21.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  22.            .addGap(0, 479, Short.MAX_VALUE)
  23.        );
  24.        layout.setVerticalGroup(
  25.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  26.            .addGap(0, 336, Short.MAX_VALUE)
  27.        );
  28.  
  29.        pack();
  30.    }// </editor-fold>                        
  31.  

mi main:

Código
  1.    public static void main(String args[]) {
  2.        /* Set the Nimbus look and feel */
  3.        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  4.        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  5.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  6.          */
  7.        try {
  8.            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  9.                if ("Nimbus".equals(info.getName())) {
  10.                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
  11.                    break;
  12.                }
  13.            }
  14.        } catch (ClassNotFoundException ex) {
  15.            java.util.logging.Logger.getLogger(frmTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  16.        } catch (InstantiationException ex) {
  17.            java.util.logging.Logger.getLogger(frmTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  18.        } catch (IllegalAccessException ex) {
  19.            java.util.logging.Logger.getLogger(frmTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  20.        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  21.            java.util.logging.Logger.getLogger(frmTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  22.        }
  23.        //</editor-fold>
  24.  
  25.        /* Create and display the form */
  26.        java.awt.EventQueue.invokeLater(new Runnable() {
  27.            public void run() {
  28.                new frmTest().setVisible(true);
  29.            }
  30.        });
  31.    }

Cual sera el problema?

Acabo de probar y era por  el Layout, estaba en Free Design, acabo de cambiarlo a Border Layout y funciona. Seguire probando y si tengo algun problema les comento por aqui.

Muchas gracias !!!
3  Programación / Java / Re: Agregar Scrollbar a JPanel en: 2 Abril 2020, 08:30 am
- A mí si que me funciona. No muestras tu main ni tampoco initComponents así que el problema está ahí. En mi caso el initComponents me da problemas por lo que lo he comentado:

Código
  1. import java.awt.*;
  2. import javax.swing.*;
  3.  
  4. public class frmTest extends JFrame {
  5.  
  6.  public frmTest() {
  7.    //initComponents();
  8.  
  9.    JPanel pnlcenter = new JPanel();
  10.    for (int i = 0; i < 50; i++) {
  11.      JButton btnAgrega = new JButton("Hola");
  12.      pnlcenter.add(btnAgrega);
  13.    }
  14.    pnlcenter.setLayout(new FlowLayout());
  15.    pnlcenter.setBorder(BorderFactory.createLineBorder(Color.black));
  16.    pnlcenter.setBounds(0, 0, 200, 200);
  17.    pnlcenter.setPreferredSize(new Dimension(2000, 2000));
  18.    pnlcenter.setVisible(true);
  19.  
  20.    final JScrollPane scroller = new JScrollPane(pnlcenter, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  21.    scroller.setViewportView(pnlcenter);
  22.    this.setSize(new Dimension(400, 400));
  23.    this.add(scroller);
  24.    this.pack();
  25.    this.setLocationRelativeTo(null);
  26.    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  27.    this.setVisible(true);
  28.  }
  29.  
  30.  public static void main(String[] args) {
  31.    frmTest frm = new frmTest();
  32.  }
  33. }

- El código anterior funciona incluso sin usar NetBeans, desde un block de notas y compilando a mano con javac frmTest.java && java frmTest

- No te manda ningún error o advertencia? has hecho uno Click derecho > Clean a tu proyecto?


Hola, a mi tambien me funciona cuando comento el initComponent.

Mi initComponent:

 
Código
  1.  private void initComponents() {
  2.  
  3.        jPanel1 = new javax.swing.JPanel();
  4.  
  5.        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  6.        jPanel1.setLayout(jPanel1Layout);
  7.        jPanel1Layout.setHorizontalGroup(
  8.            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  9.            .addGap(0, 100, Short.MAX_VALUE)
  10.        );
  11.        jPanel1Layout.setVerticalGroup(
  12.            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  13.            .addGap(0, 100, Short.MAX_VALUE)
  14.        );
  15.  
  16.        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  17.  
  18.        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  19.        getContentPane().setLayout(layout);
  20.        layout.setHorizontalGroup(
  21.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  22.            .addGap(0, 479, Short.MAX_VALUE)
  23.        );
  24.        layout.setVerticalGroup(
  25.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  26.            .addGap(0, 336, Short.MAX_VALUE)
  27.        );
  28.  
  29.        pack();
  30.    }// </editor-fold>                        
  31.  

mi main:

Código
  1.    public static void main(String args[]) {
  2.        /* Set the Nimbus look and feel */
  3.        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  4.        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  5.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  6.          */
  7.        try {
  8.            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  9.                if ("Nimbus".equals(info.getName())) {
  10.                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
  11.                    break;
  12.                }
  13.            }
  14.        } catch (ClassNotFoundException ex) {
  15.            java.util.logging.Logger.getLogger(frmTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  16.        } catch (InstantiationException ex) {
  17.            java.util.logging.Logger.getLogger(frmTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  18.        } catch (IllegalAccessException ex) {
  19.            java.util.logging.Logger.getLogger(frmTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  20.        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  21.            java.util.logging.Logger.getLogger(frmTest.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  22.        }
  23.        //</editor-fold>
  24.  
  25.        /* Create and display the form */
  26.        java.awt.EventQueue.invokeLater(new Runnable() {
  27.            public void run() {
  28.                new frmTest().setVisible(true);
  29.            }
  30.        });
  31.    }

Cual sera el problema?
4  Programación / Java / Obtener IP con hostname en: 21 Marzo 2020, 21:38 pm
Hola Gente,

Estoy desarrollando un proyecto de sockets para lo cual necesito validar la IP de una pc a traves del hostname el cual lo ingresare en un textfield. 

Gracias
5  Programación / Java / Re: Agregar Scrollbar a JPanel en: 21 Marzo 2020, 20:15 pm
Ayuda tu mas con el código, pasa mas código, seguro algo falta por ahí y de paso simple dog.

Pero es todo el codigo que tengo  :( porque no me creen:

Con este codigo hago que aparescan una serie de botones dentro de un jpanel.

 
Código
  1.   public frmTest() {
  2.        initComponents();
  3.  
  4.        JPanel pnlcenter = new JPanel();
  5.        for (int i = 0; i < 50; i++) {
  6.            JButton btnAgrega = new JButton("Hola");
  7.            pnlcenter.add(btnAgrega);
  8.        }
  9.        pnlcenter.setLayout(new FlowLayout());
  10.        pnlcenter.setBorder(BorderFactory.createLineBorder(Color.black));
  11.        pnlcenter.setBounds(0, 0, 200, 200);
  12.        pnlcenter.setPreferredSize(new Dimension(2000, 2000));
  13.        pnlcenter.setVisible(true);
  14.  
  15.        this.setSize(new Dimension(400, 400));
  16.        this.add(pnlcenter);
  17.    }

La idea es que me aparezca un scrollbar en la parte de la izquierda ya que mi intencion es agregar mas controles dentro del panel. Guiandome por internet agregue el siguiente codigo el cual me dicen que deberia funcionar pero nada  :( :


 
Código
  1.   public frmTest() {
  2.        initComponents();
  3.  
  4.        JPanel pnlcenter = new JPanel();
  5.        for (int i = 0; i < 50; i++) {
  6.            JButton btnAgrega = new JButton("Hola");
  7.            pnlcenter.add(btnAgrega);
  8.        }
  9.        pnlcenter.setLayout(new FlowLayout());
  10.        pnlcenter.setBorder(BorderFactory.createLineBorder(Color.black));
  11.        pnlcenter.setBounds(0, 0, 200, 200);
  12.        pnlcenter.setPreferredSize(new Dimension(2000, 2000));
  13.        pnlcenter.setVisible(true);
  14.  
  15.        final JScrollPane scroller = new JScrollPane(pnlcenter, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  16.        scroller.setViewportView(pnlcenter);
  17.        this.setSize(new Dimension(400, 400));
  18.        this.add(scroller);
  19.        this.pack();
  20.        this.setLocationRelativeTo(null);
  21.        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  22.        this.setVisible(true);
  23.    }

El JFrame lo he creado desde la paleta del netbeans, es todo lo que tengo.

Help me !!
6  Programación / Java / Re: Agregar Scrollbar a JPanel en: 21 Marzo 2020, 06:12 am

que hace el metodo initComponents ?  >:D , intenta colaborar a la primera un poco mas para que algo tan simple no se nos haga eterno LMAOOO


El initComponent es para que inicie el JFrame.... no entiendo cual es el problema?  :(  Help Me
7  Programación / Java / Re: Agregar Scrollbar a JPanel en: 2 Febrero 2020, 18:00 pm
Pasa el codigo. que a en mi maquina funciona LMFAOO

Y usa GeSHI para añadir el codigo java.


Aqui te dejo mi codigo, el formulario lo he creado desde la paleta de controles de netbeans.


Código
  1. public frmTest() {
  2.        initComponents();  
  3.        JPanel pnlcenter = new JPanel();
  4.        for (int i = 0; i < 50; i++) {
  5.            JButton btnAgrega = new JButton("Hola");
  6.            pnlcenter.add(btnAgrega);
  7.        }
  8.        pnlcenter.setLayout(new FlowLayout());
  9.        pnlcenter.setBorder(BorderFactory.createLineBorder(Color.black));
  10.        pnlcenter.setBounds(0, 0, 200, 200);
  11.        pnlcenter.setPreferredSize(new Dimension(2000, 2000));
  12.        pnlcenter.setVisible(true);
  13.  
  14.        final JScrollPane scroller = new JScrollPane(pnlcenter, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  15.        scroller.setViewportView(pnlcenter);
  16.  
  17.        this.setSize(new Dimension(400, 400));
  18.        this.add(scroller);
  19.        this.pack();
  20.        this.setLocationRelativeTo(null);
  21.        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  22.        this.setVisible(true);
  23. }

Muchas gracias !!!!
8  Programación / Java / Re: Agregar Scrollbar a JPanel en: 1 Febrero 2020, 03:36 am
>:D >:D  Mmm eso de que en ningun lugar leiste una solucion, suena a que no buscaste nada, siempre la hay LMAOO

Código
  1. /*
  2.  
  3.  */
  4. public class ScrollPanel extends JFrame {
  5.  
  6.    public ScrollPanel() {
  7.        JPanel pnlcenter = new JPanel();
  8.        for (int i = 0; i < 50; i++) {
  9.            JButton btnAgrega = new JButton("Hola");
  10.            pnlcenter.add(btnAgrega);
  11.        }
  12.        pnlcenter.setLayout(new FlowLayout()); // por defecto usa FlowLayout
  13.        pnlcenter.setBorder(BorderFactory.createLineBorder(Color.black));
  14.        pnlcenter.setBounds(0, 0, 200, 200);
  15.        pnlcenter.setPreferredSize(new Dimension(600, 600));
  16.        pnlcenter.setVisible(true);
  17.  
  18.        final JScrollPane scroller = new JScrollPane(pnlcenter,  JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  19.        scroller.setViewportView(pnlcenter);
  20.  
  21.        this.setSize(new Dimension(400,400));
  22.        this.add(scroller);
  23.        this.pack();
  24.  
  25.        this.setLocationRelativeTo(null);
  26.  
  27.        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  28.        this.setVisible(true);
  29.    }
  30.  
  31.    public static void main(String ... blablla) {
  32.        new Thread(ScrollPanel::new).start();
  33.    }
  34.  
  35. }
  36.  

Puedes tambien de la siguiente manera con los métodos suyos

Código
  1. final JScrollPane scroller = new JScrollPane(pnlcenter);
  2. scroller.setViewportView(pnlcenter);
  3. scroller.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
  4. scroller.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

tambien que en la linea 22 tu no añadias el JScrollPane al JFrame me imagino.

Simplemente agregue toda estas lineas de codigo y ahora al ejecutar el frame se ve completamente vacio.

 final JScrollPane scroller = new JScrollPane(pnlcenter,  JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        scroller.setViewportView(pnlcenter);
 
        this.setSize(new Dimension(400,400));
        this.add(scroller);
        this.pack();
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);

Que puede estar pasando? hay algo que no debo estar entendiendo  :( :(
9  Programación / Java / Agregar Scrollbar a JPanel en: 26 Enero 2020, 01:53 am
Hola a todos,

Este problema es muy posteado en distintos foros de programacion, sin embargo ninguno ha logrado ayudarme o quiza no he logrado entender  >:(.

Tengo un JPanel con layout Flow en donde agrego controles de manera dinamica, simplemente necesito agregar un scrollbar VERTICAL.

Codigo:
        JPanel pnlcenter = new JPanel();
        for (int i = 0; i < 50; i++) {
            JButton btnAgrega = new JButton("Hola");
            pnlcenter.add(btnAgrega);
        }
        pnlcenter.setLayout(new FlowLayout());
        pnlcenter.setBorder(BorderFactory.createLineBorder(Color.black));
        pnlcenter.setBounds(0, 0, 200, 200);
        pnlcenter.setPreferredSize(new Dimension(2000, 2000));
        pnlcenter.setVisible(true);
        JScrollPane scroller = new JScrollPane(pnlcenter);
        scroller.setViewportView(pnlcenter);
        this.add(pnlcenter);

Esto es tan basico que aun asi no logro resolverlo  :-( Help me please !!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines