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 - Wolf

Páginas: [1]
1
Ah vale ! Sabía ya lo que hacía el método paintComponent(Graphics g), por eso no le veía sentido a poner código ahí. Es un ejemplo que vi por Internet y decían que les funcionaba :-\ Gracias por la contestación. Un saludo.

2
Hola César Krall. Me explico, el código tal como está, va bien. El funcionamiento es una chorrada. Es un ejercicio sobre los Eventos de foco. Simplemente, pongo un texto en el cuadro y al pasar poner el foco el otro evalúa si la dirección email es correcta o no. No quiero entrar en si la evaluación del email está bien o no. Es solo un ejercicio para ver si funciona el evento. Y respecto a lo de public void paintComponent(Graphics g) tienes razón, es un método. Pero, ¿por qué no funciona si pongo el código que está comentado en el método? Gracias.

PD: Te tienen que salir dos cuadros de texto, si no sale, agranda la ventana y saldrán :-)

3
Buenas a tod@s ! Tengo una duda respecto al código que comparto. ¿Por qué no funciona si lo pongo dentro (en el constructor) de public void paintComponent(Graphics g)? Solo funciona si dejo los setBounds, pero si dejo alguna otra instrucción ya no funciona. Muchas gracias.

Código: [Seleccionar]
package graficos;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class FocoEvento {

public static void main(String[] args) {
// TODO Auto-generated method stub

MarcoFoco miMarco = new MarcoFoco();

miMarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

class MarcoFoco extends JFrame{

MarcoFoco (){

setTitle("Marco Foco");

setBounds(300, 300, 600, 450);

setVisible(true);

add(new LaminaFoco());
}
}

class LaminaFoco extends JPanel{

public LaminaFoco(){

setLayout(null);

cuadro1=new JTextField();
cuadro2=new JTextField();

cuadro1.setBounds(220, 10, 150, 20);
cuadro2.setBounds(220, 50, 150, 20);

add(cuadro1);
add(cuadro2);

LanzaFocos elFoco = new LanzaFocos();
cuadro1.addFocusListener(elFoco);

}

public void paintComponent(Graphics g){

super.paintComponent(g);// Invocamos al método paintComponent de JComponent para que haga su trabajo cuando lo programagron en su día.
//En este ejemplo funcionaría igual aunque no estuviera.

//setLayout(null);

/*cuadro1=new JTextField();
cuadro2=new JTextField();

cuadro1.setBounds(220, 10, 150, 20);
cuadro2.setBounds(220, 50, 150, 20);

add(cuadro1);
add(cuadro2);

LanzaFocos elFoco = new LanzaFocos();
cuadro1.addFocusListener(elFoco);*/
}

private JTextField cuadro1;

private JTextField cuadro2;

private class LanzaFocos implements FocusListener{

@Override
public void focusGained(FocusEvent e) {
// TODO Auto-generated method stub

}

@Override
public void focusLost(FocusEvent e) {
// TODO Auto-generated method stub

String email = cuadro1.getText();

boolean comprobacion = false;

for(int i = 0; i<email.length(); i++){

if (email.charAt(i)=='@'){

comprobacion=true;
}
}

if(comprobacion){

System.out.println("El email es correcto");
}
else{
System.out.println("El email es incorrecto");
}

}

}
}

4
No verdad. Es que, el que puso el enunciado decía, que los alumnos no entendían el enunciado. Supongo, que es eso, que no hay número que sea divisible solo por 15. Muchas gracias.

5
Hola DRANKZ88. Ya sabía lo que hacía random(). Lo puse así por que quería jeje. La duda que tenía era saber cual era la característica que hacía divisible por 15 y no por 3 ó 5. Esa era la duda . También estoy siguiendo el curso :-). Muchas gracias por contestar.

6
Hola. Tengo una duda respecto a un ejercicio, que he encontrado por interntet. No entiendo la última parte. Dejo el enunciado y el código que he hecho yo.

- Escribe un algoritmo en cualquier lenguaje de programación, que cuente del 1 al 100, y que muestre por pantalla "CHOCO" cuando el numero sea divisible por 3, "LATE" cuando sea divisible por 5 y "CHOCOLATE"cuando sea divisible por 15.

Yo lo estoy escribiendo en Java. La cuestión, es que si es divisible por 3 y 5, normalmente es por 15 también. El único caso que veo que no es divisible por 3 es cuando el número tiene un 5 como 25. No sé si lo estoy entendiendo mal o qué. Supongo que sí jejeje. Dejo el código que he escrito. A ver si me podéis ayudar a entenderlo. Gracias.

Código: [Seleccionar]
package ejercicios_Contro_de_flujo;

public class Chocolate {

public static void main(String[] args) {
// TODO Auto-generated method stub

int aleatorio =(int)(Math.random()*100);

int divisible_3 = 3;

int divisible_5 = 5;


if(aleatorio>=divisible_3 && aleatorio % divisible_3==0){

System.out.println("CHOCO");

}

if(aleatorio >= divisible_5 && aleatorio % divisible_5==0){

System.out.println("LATE");

}

System.out.println("CHOCOLATE");

}
}

7
Eso es lo que había pensado para la alternancia, poner (i%2 !=0) para saber si esta en la posición impar. Muchas gracias por resolverme las dudas. ¡ Un abrazo !

8
Ahora lo tengo más claro. Lo tenía casi casi igual, me faltaba esto (elementos [ i ] = serie) y el último "for". Lo que más me liaba era el cómo detectar que estaba en la posición par o impar del Array. ¿Hay otra forma de forma hacerlo o es esta la más fácil? Muchísimas gracias por contestar, son de gran ayuda. Un saludo.

PD: Y perdón por lo del código. No me acordaba.

9
Hola compañer@s ! Miren, tengo una duda sobre como programar una serie numérica.

La serie es esta 1,5,3,7,5,9,7,11,9,13. Se va sumando 4 en las posiciones pares y restando 2 a los impares. La solución es está: 

Código: [Seleccionar]
import java.util.*;

public class Ejercicio_Operadores2 {

public static void main(String[] args) {

// TODO Auto-generated method stub

int serie = 1;
boolean sumar=true;
int cont;
String cadena="Serie: ";

System.out.println("Indique cuantos numeros de la serie quiere ver: " );

Scanner sc = new Scanner (System.in);
cont=sc.nextInt();

do{

cadena=cadena.concat(String.valueOf(serie) + "  ");
cont --;
if(sumar==true){
serie+=4;
}else{
serie-=2;
}

sumar=!sumar;
}while(cont>0);

System.out.println(cadena);

}//Fin Main
}//Fin Clase

Me ha costado un poco entenderlo, pero creo que he captado la idea. Mi pregunta es, si hay alguna forma de hacerlo con Arrays. Que es como yo había pensado en un principio hacerlo. Muchas gracias por tu atención. Un saludo.

10
Hola Mario, muchísimas gracias por contestar. La verdad que no he seguido el curso desde el principio, por que ya tengo nociones de programar y me interesaba hacer algún ejercicio sobre Herencia. De todas formas, me viene bien las correcciones que me has dado. Las tendré en cuenta. Muchas gracias de nuevo. Un saludo.

11
Ok. Muchísimas gracias por contestar tan pronto. Un saludo !

12
Tengo una duda. No entiendo los métodos setters en la Clases Producto, ProductosFrescos,etc. ¿Si ya inicializamos las variables con el Constructor, para qué necesitamos esos métodos? Supongo que tendré muchos fallos. Agradecería las correcciones. Gracias. Adjunto el código:

Código: [Seleccionar]
package paqueteherencia;

public class Producto {

String fechaCaducidad, nombre;
String nLote;

public Producto(String fechaCaducidad, String nombre,String nLote){

this.fechaCaducidad=fechaCaducidad;
this.nombre=nombre;
this.nLote=nLote;

}

public String getfechaCaduciad(){

return fechaCaducidad;
}

public String getnLote(){

return nLote;
}

public String getnombre(){

return nombre;
}

public void setfechaCaducidad(String fechaCaducidad){

this.fechaCaducidad=fechaCaducidad;
}

public void setnLote(String nLote){

this.nLote=nLote;
}

public void setnombre(String nombre){

this.nombre=nombre;
}

}

Código: [Seleccionar]
package paqueteherencia;

public class ProductosFrescos extends Producto {

private String FechaEnvasado;
private String PaisOrigen;

public ProductosFrescos( String fechaCaducidad,  String nombre, String nLote, String FechaEnvasado, String PaisOrigen){

super(fechaCaducidad, nombre, nLote);

this.FechaEnvasado=FechaEnvasado;
this.PaisOrigen=PaisOrigen;
}


public String getFechaEnvasado(){

return FechaEnvasado;
}

public String getPaisOrigen(){

return PaisOrigen;
}

public void setFechaEnvasado(String FechaEnvasado){

this.FechaEnvasado=FechaEnvasado;
}

public void setPaisOrigen(String PaisOrigen){

this.PaisOrigen=PaisOrigen;
}

public String getDatosProductosFrescos(){

return "Fecha de envasado: "+ FechaEnvasado +" Fecha caducidad: "+ fechaCaducidad +  ". País de orígen: " + PaisOrigen
+ " Nombre: " + nombre + " Número de lote: " + nLote;
}

}

Código: [Seleccionar]
package paqueteherencia;

public class ProductosRefrigerados extends Producto {

private String CodigoSupervision;

public ProductosRefrigerados(String fechaCaducidad, String nombre,String nLote, String CodigoSupervision){

super(fechaCaducidad, nombre,nLote);

this.CodigoSupervision=CodigoSupervision;

}

public String getCodigoSupervision(){

return CodigoSupervision;
}

public void setCodigoSupervision(String CodigoSupervision){

this.CodigoSupervision=CodigoSupervision;
}

public String getDatosProductosRefrigerados(){

return  "Fecha caducidad: "+ fechaCaducidad + " Nombre: " + nombre + " Número de lote: " + nLote + " Código: " + CodigoSupervision;
}

}

Código: [Seleccionar]
package paqueteherencia;

public class ProductosCongelados extends Producto {

private String TemperaturaRecomendada;

public ProductosCongelados(String fechaCaducidad,  String nombre, String nLote, String TemperaturaRecomendada ){

super (fechaCaducidad,nombre,nLote);

this.TemperaturaRecomendada = TemperaturaRecomendada;
}

public String getTemperaturaRecomendada(){

return TemperaturaRecomendada;
}

public void setTemperaturaRecomendada(String TemperaturaRecomendada){

this.TemperaturaRecomendada=TemperaturaRecomendada;
}

public String getDatosProductosCongelados(){

return "Fecha caducidad: "+ fechaCaducidad + " Nombre: " + nombre + " Número de lote: " + nLote + " Temperatura: " + TemperaturaRecomendada;

}
}

Código: [Seleccionar]
package paqueteherencia;

public class Uso_Herencia {

public static void main(String[] args) {
// TODO Auto-generated method stub

ProductosFrescos LechugaProductoFresco = new ProductosFrescos("25-10-2017", "Lechuga", "03590","2-12-2012", "Uruguay" );
ProductosRefrigerados YogurProductoRefrigerado=new ProductosRefrigerados ("18-12-2020", "Yogur", "251183", "COD213456T");
ProductosCongelados PizzaProductoCongelado =new ProductosCongelados("24-1-2019", "Pizza", "434546-T", "-3º");



System.out.println("Atributos Productos Frescos: " + LechugaProductoFresco.getDatosProductosFrescos());
System.out.println("Atributos Productos Refrigerados: " + YogurProductoRefrigerado.getDatosProductosRefrigerados());
System.out.println("Atributo Productos Congelados: " + PizzaProductoCongelado.getDatosProductosCongelados());

}
}

13
Hola ! Tengo una duda. ¿Por qué es crea un método setNombre(valor nombre) para inicializar la variable String nombre, si ya lo hace el constructor? Y otra cosa, ¿por qué se escriben las variables así: String fechaDeCaducidad = "", numeroDeLote = "", nombre = ""; con comillas ?No le veo el sentido. Gracias.

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".