Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Antoniio03

Páginas: [1]
2
Hola, buenas. Estoy trabajando con una base de datos específica para este trabajo, lo que he logrado hasta ahora es comunicarme a la base e imprimir lo que tenemos en esas tablas. Mi pregunta es: ¿Cómo crear ventanas gráficas para capturar nuevos datos?, o sea, crear por ejemplo un botón de "Insertar" que permita al usuario insertar cualquiera de los siguientes registros: un maestro, una materia, un eje de desarrollo o una seriacion de materias?...el código es este:

Código: [Seleccionar]
package unison.lcc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Principal {
    public static void main(String[] args) {
        // TODO code application logic here
        ConectorBD conector1 = new ConectorBD();
        conector1.abrir();
        conector1.comunicar();
        conector1.cerrar();
    }

    private static class ConectorBD {
        Connection conexion=null;
        public ConectorBD() {
        }

        private void abrir() {
            try {
                System.out.println("Abriendo BD");
                conexion= DriverManager.getConnection(
                        "jdbc:mysql://148.225.83.3:3306/e5ingsoft2",
                        "e5ingsoft2", "7MLtw21");
                System.out.println("Coenxion exitosa:"+conexion);
            } catch (SQLException ex) {
                System.out.println("error de conexion"+ex.toString());
            }
        }

        private void leer() {
            System.out.println("Comunicando con la bd");
            String sql = "SELECT * FROM maestro;";
            if(this.conexion!=null){
                try {
                    //crear Sentencia
                    Statement sentencia = conexion.createStatement();
                    //ejecutar "query" en la bd
                    ResultSet resultado = sentencia.executeQuery( sql );
                    //imprimir resultados
                    ResultSetMetaData meta = resultado.getMetaData();
                    int n = meta.getColumnCount();
                    for(int i=1; i<=n; i++){
                        System.out.print("| "+ meta.getColumnName(i) + " |");
                    }
                    System.out.println("");
                    while( resultado.next() ){
                        System.out.print(resultado.getRow()+") ");
                        for(int i=1; i<=n; i++){
                            System.out.print(resultado.getObject(i) + " |");
                        }
                        System.out.println("");
//                        System.out.println(resultado.getRow()+") "+
//                                resultado.getObject(1) + " | " +
//                                resultado.getObject(2)
//                        );
                    }
                    System.out.println("");
                } catch (SQLException ex) {
                    System.out.println("Error en la lectura de bd:"+ex.toString());
                }
            }
        }
       
        private void comunicar(){
            this.insertar();
            this.leer();
        }

        private void cerrar() {
            System.out.println("cerrando bd");
            if(conexion!=null){
                try {
                    conexion.close();
                    System.out.println("Gracias por usar BD. Conexion cerrada!"+conexion);
                } catch (SQLException ex) {
                    System.out.println("No puedo cerrar BD");
                }
            }
        }

        private void insertar() {
            System.out.println("insertando en la bd");
            String sql = "INSERT INTO maestro values("+(int)(Math.random()*100000)+
                    ", 'Desconocido', 662123456, \"Desconocida\");";
            if(this.conexion!=null){
                try {
                    //crear Sentencia
                    Statement sentencia = conexion.createStatement();
                    //ejecutar "query" en la bd
                    int resultado = sentencia.executeUpdate( sql );
                    //imprimir resultados
                    System.out.println("insercion realizada");
                } catch (SQLException ex) {
                    System.out.println("Error en la lectura de bd:"+ex.toString());
                }
            }
        }
    }   
}

Alguna sugerencia??, gracias de antemano !!

Saludos.

4
Vaya, ya veo, muchas gracias por responder. Lo único que no pude arreglar es diferenciar entre las minúsculas y mayúsculas, por ejemplo, si elijo "Rojo" me manda el color en gris porque no lo lee como "rojo", cómo puedo solucionar eso??

Así lo dejé:
Código: [Seleccionar]
import java.awt.*;import java.awt.event.ActionEvent;
import javax.swing.*;
import java.util.Scanner;


public class SierpinskiCarpet extends JPanel {
    private final int dim = 513;
    private final int margin = 20;
    private static Color colorRelleno;
    private static Color colorFondo;
    private int limit = dim;


    public SierpinskiCarpet() {
        setPreferredSize(new Dimension(dim + 2 * margin, dim + 2 * margin));
        setBackground(colorFondo);
        setForeground(colorRelleno);
        new Timer(2000, (ActionEvent e) -> {
                limit /= 3;
                if (limit <= 3)
                    limit = dim;
                repaint();
            }).start();
    }


    void drawCarpet(Graphics2D g, int x, int y, int size) {
        if (size < limit)
            return;
        size /= 3;
        for (int i = 0; i < 9; i++) {
            if (i == 4) {
                g.fillRect(x + size, y + size, size, size);
            } else {
                drawCarpet(g, x + (i % 3) * size, y + (i / 3) * size, size);
            }
        }
    }


    @Override
    public void paintComponent(Graphics gg) {
        super.paintComponent(gg);
        Graphics2D g = (Graphics2D) gg;
        g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
            RenderingHints.VALUE_ANTIALIAS_ON);
        g.translate(margin, margin);
        drawCarpet(g, 0, 0, dim);
    }


    public static void main(String[] args) {
        Color color1 = Color.blue; Color color2 = Color.orange;Color color3 = Color.red;Color color4 = Color.black;
        Color color5 = Color.yellow;Color color6 = Color.green;Color color7 = Color.pink;
       
        System.out.println("Elije el color del relleno de la figura: ");
        Scanner sc = new Scanner(System.in);
       
        System.out.println("Elije el color del fondo de la figura: ");
        Scanner fo = new Scanner(System.in);
       
         String elegido2 = sc.nextLine();
        if (elegido2.equals("azul")){
            colorRelleno = color1;
        }
       if (elegido2.equals("rojo")){
            colorRelleno = color3;
       }
       if (elegido2.equals("naranja")){
            colorRelleno = color2;
       }
       if (elegido2.equals("negro")){
            colorRelleno = color4;
       }
       if (elegido2.equals("amarillo")){
           colorRelleno = color5;
       }
       if (elegido2.equals("verde")){
          colorRelleno = color6;
        }
       if (elegido2.equals("rosa")){
           colorRelleno = color7;
        }
       
        String elegido = fo.nextLine();
        if (elegido.equals("azul")){
            colorFondo = color1;
        }
       if (elegido.equals("rojo")){
            colorFondo = color3;
       }
       if (elegido.equals("naranja")){
            colorFondo = color2;
       }
       if (elegido.equals("negro")){
            colorFondo = color4;
       }
       if (elegido.equals("amarillo")){
            colorFondo = color5;
       }
       if (elegido.equals("verde")){
            colorFondo = color6;
        }
       if (elegido.equals("rosa")){
            colorFondo = color7;
        }


       
        SwingUtilities.invokeLater(() -> {
                JFrame f = new JFrame();
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setTitle("Sierpinski Carpet");
                f.setResizable(false);
                f.add(new SierpinskiCarpet(), BorderLayout.CENTER);
                f.pack();
                f.setLocationRelativeTo(null);
                f.setVisible(true);
            });
    }
}

5
Hola, buenas. Estoy intentanto hacer una versión de la "Alfombra de Sierpinski":
https://es.wikipedia.org/wiki/Alfombra_de_Sierpinski


Este es el código que tengo:

Código: [Seleccionar]
import java.awt.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
 
public class SierpinskiCarpet extends JPanel {
    private final int dim = 513;
    private final int margin = 20;
 
    private int limit = dim;
 
    public SierpinskiCarpet() {
        setPreferredSize(new Dimension(dim + 2 * margin, dim + 2 * margin));
        setBackground(Color.white);
        setForeground(Color.black);
 
        new Timer(2000, (ActionEvent e) -> {
            limit /= 3;
            if (limit <= 3)
                limit = dim;
            repaint();
        }).start();
    }
 
    void drawCarpet(Graphics2D g, int x, int y, int size) {
        if (size < limit)
            return;
        size /= 3;
        for (int i = 0; i < 9; i++) {
            if (i == 4) {
                g.fillRect(x + size, y + size, size, size);
            } else {
                drawCarpet(g, x + (i % 3) * size, y + (i / 3) * size, size);
            }
        }
    }
 
    @Override
    public void paintComponent(Graphics gg) {
        super.paintComponent(gg);
        Graphics2D g = (Graphics2D) gg;
        g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                RenderingHints.VALUE_ANTIALIAS_ON);
        g.translate(margin, margin);
        drawCarpet(g, 0, 0, dim);
    }
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.setTitle("Sierpinski Carpet");
            f.setResizable(false);
            f.add(new SierpinskiCarpet(), BorderLayout.CENTER);
            f.pack();
            f.setLocationRelativeTo(null);
            f.setVisible(true);
        });
    }
}

El color de los cuadrados es blanco y negro seleccionado por mi. Mi duda es, cómo hacer que el usuario elija el color de los cuadros??

Gracias de antemano !

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".