PREGUNTAS CONTESTADAS - Java

 Hay un total de 630 Preguntas.<<  >> 

    Pregunta:  65894 - PORQUE NO ME MUESTRA LA IMAGEN UN LABEL?
Autor:  israel israel
Hola amig@s, resulta que e puesto una imagen en un label, y quisiera que al pulsar un boton me mostrará otra imagen distinta, la idea que llevo es que cada vez que se pulse el boton muestre una imagen nueva, como si fuera un visor de fotos.
E hecho lo siguiente, pero no me cambia la imagen y no se porque, igual me e dejado algo, o lo estoy haciendo mal, no se...
Echadle un ojo vosotros:

http://www.subirimagenes.com/imagen-wws-7343312.html
  Respuesta:  emmanuel
hola amigo has intentado cambiando el tipo de extensión de tus imágenes por una jpg o png ?

    Pregunta:  65901 - COMO DESORDENAR IMAGENES DE UN PUZZLE DE PIEZAS DESLIZANTES
Autor:  Andrea Flores
Hola, estoy realizando un juego, es un puzzle de piezas deslizantes, hasta el momento he logrado hacer que la imagen se corte en piezas y se divida en un array de botones y ademas ya en la parte funcional estas piezas se mueven sin ningun problema. Mi pregunta es como puedo hacer que las piezas se desordenen al ejecutar el puzzle? como confirmo que las piezas estan en su lugar cuando el player ya las ha ordenado?, mi idea es enviarle un mensaje de dialogo. Algo que aun no entiendo es Que hace o como funciona la variable pos?

Aca les dejo el codigo:

import java.awt.BorderLayout; 	

import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.CropImageFilter;
import java.awt.image.FilteredImageSource;
import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.*;

public class Puzzle extends JFrame implements ActionListener{

private JPanel centerPanel;
private JLabel label;
private JButton[] botton;
private Image source; //productor de imágenes que usará pixels como imagen
private Image image; // imagen que utilizará source como fuente
int[][] pos;
int width, height;
boolean indice [];
int indexRandom;

public Puzzle() {
initUI();
}

public final void initUI() {
pos = new int[][]{
{0, 1, 2},
{3, 4, 5},
{6, 7, 8},
{9, 10, 11}}; //Estas son las posiciones de las partes de la imagen.

botton=new JButton[11];
indexRandom=-1;
indice=new boolean [11];

centerPanel = new JPanel(); //(pos X, pos Y, ancho, alto)
centerPanel.setLayout(new GridLayout(4, 4, 0, 0)); //es un director de disposición que presenta los componentes de un contenedor en una rejilla rectangular. El contenedor es dividido en rectángulos iguales, y un componente es colocado en cada rectángulo.

ImageIcon sid = new ImageIcon(Puzzle.class.getResource("promo.jpg")); //Usamos la clase ImageIcon para cargar la imagen.
source = sid.getImage(); //Devuelve la Imagen de este icono.

width = sid.getIconWidth(); //Obtiene la altura del icono.
height = sid.getIconHeight(); //Obtiene la anchura del icono.

add(Box.createRigidArea(new Dimension(0, 5)), BorderLayout.NORTH); //Crea un componente invisible esto es siempre el tamaño especificado.
add(centerPanel, BorderLayout.CENTER);

for(int i=0; i indice[i]=false;

for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
if (j == 2 && i == 3) {
label = new JLabel("");
centerPanel.add(label);
}
else
{
do
{
indexRandom=(int)(Math.random()*11);
if(indice[indexRandom]==false)
{
indice[indexRandom]=true;
break;
}
}while(indice[indexRandom]==true);

botton[indexRandom]= new JButton();
botton[indexRandom].addActionListener(this);
centerPanel.add(botton[indexRandom]);
image = createImage(new FilteredImageSource(source.getSource(),
new CropImageFilter(j * width / 3, i * height / 4,
(width / 3) + 1, height / 4))); //toma una imagen existente y un objeto con filtro y los usa para producir datos de imagen para una nueva versión filtrada de la imagen original.
botton[indexRandom].setIcon(new ImageIcon(image)); //Define el icono que este componente mostrará.
}
}
} //El código crea 11 botones y una etiqueta. Nos recorta la imagen en pedazos y los colocamos sobre los botones.

setSize(577, 415);
setTitle("PULPAR UP");
setResizable(false); //Establece si este marco es resizable por el usuario.
setLocationRelativeTo(null); //Pone la posición de la ventana en relación con el componente especificado.
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setIconImage(new ImageIcon("esquina.png").getImage());
}

public void actionPerformed(ActionEvent e) {


JButton button = (JButton) e.getSource(); //El objeto sobre el cual el evento al principio ocurrió.
Dimension size = button.getSize(); //obtiene el tamaño de este objeto

int labelX = label.getX();
int labelY = label.getY();
int buttonX = button.getX();
int buttonY = button.getY();
int buttonPosX = buttonX / size.width;
int buttonPosY = buttonY / size.height;
int buttonIndex = pos[buttonPosY][buttonPosX];

//Se obtiene la coordenadas x, y del botón que golpeó y una etiqueta vacía.lógica


//Aquí obtenemos el índice del botón en la matriz bidimensional de las posiciones de los botones.
if (labelX == buttonX && (labelY - buttonY) == size.height) {

int labelIndex = buttonIndex + 3;

centerPanel.remove(buttonIndex);
centerPanel.add(label, buttonIndex);
centerPanel.add(button, labelIndex);
centerPanel.validate(); //Valida este contenedor y todos sus subcomponentes.
}

//En este caso, comprobamos si hace clic en el botón, que está justo encima de la etiqueta vacía. Si está por encima de la etiqueta, que comparten la coordenada x. Si el botón está justo encima de la etiqueta, la ecuación (labelY - buttonY) == size.height es cierto.

if (labelX == buttonX && (labelY - buttonY) == -size.height) {

int labelIndex = buttonIndex - 3;
centerPanel.remove(labelIndex);
centerPanel.add(button, labelIndex);
centerPanel.add(label, buttonIndex);
centerPanel.validate();
}

//En este caso, comprobamos si hace click en el boton, que esta justo debajo de la etiqueta vacía.

if (labelY == buttonY && (labelX - buttonX) == size.width) {

int labelIndex = buttonIndex + 1;

centerPanel.remove(buttonIndex);
centerPanel.add(label, buttonIndex);
centerPanel.add(button, labelIndex);
centerPanel.validate();
}

//En este caso, comprobamos si hace click en el boton que esta justo a la derecha de la etiqueta vacía.

if (labelY == buttonY && (labelX - buttonX) == -size.width) {

int labelIndex = buttonIndex - 1;

centerPanel.remove(buttonIndex);
centerPanel.add(label, labelIndex);
centerPanel.add(button, labelIndex);
centerPanel.validate();
}
}

public static void main(String[] args) {
Puzzle puzzle = new Puzzle();
puzzle.setVisible(true);
}
}

Gracias de antemano. Espero puean ayudarme.
  Respuesta:  nelson E.R.
buenas aca te dejo un link q tiene uno hecho simplemente hazle reingenieria y veras como lo hacen.
si en tal caso quieres aun continuar con el tuyo enviame un correo por el perfil y te ayudare
http://juzzle.sourceforge.net/

    Pregunta:  65947 - JTABLE CELDA NO EDITABLE - NETBEANS
Autor:  Jonathan Carrasco
Como se hace para que un jTable en netbenans se ano editable, sin embargo se pueda seleccionar, si le quito el check de enable, no se puede seleccionar la fila, he visto esto googleando:

public boolean isCellEditable(int row, int col) {
return true;
}

pero no me sale, alguien sabra explicarlo
  Respuesta:  Carlos Herrera
Mira el problema es que si te das cuenta la funcion siempre retorna true, hay lo que tienes que ver en dependencia de la row y la col o se otras variables que tengas en cuenta si quieres que sea editable o no. Por ejemplo si quieres que la columna 1 sea no editable y las otras si seria algo como esto

public boolean isCellEditable(int row, int col) {
if(col==1)
return true;
else
return false;
}
Espero que te sirva

    Pregunta:  65971 - EMPAQUETAR UN PROYECTO HECHO EN NETBEANS MAS LA BD ORACLE
Autor:  Juan Diego Inga
Como puedo empaquetar un proyecto de netbeans mas un usuario creado en oracle con todas las tablas, vistas,etc en un archivo ejecutable.. de antemano Gracias.
  Respuesta:  Adolfo
Bueno existe un programa que se llama JarToExe que ... por ahi hay una version antigua y crackeada....., lo que hace esta aplicacion es crear una envoltura a los archivos .jar para darle apariencia de .exe, por cierto que las fuentes java las encripta..:)

Despues busca un instalador de los clasicos que se usaban para crear instalaciones....

El tema de la base de datos....pues seguramente pasara por hacer que el instalador acceda a la instancia de la base de datos y lance un script que genere todas la tablas.

Espero haberte ayudado.

    Pregunta:  66080 - COMO GUARDAR UN NUMERO EN UNA POSICION VACIA DE UN ARRAY EN
Autor:  Adrian rincon
El asunto es que tengo un array en java con unos valores ingresados y otros vacios o en cero, el programa que estoy haciendo tiene que guardar nuevos valores en el array, necesito saber como recorrer el array y guardar el nuevo numero en la primera posicion vacia que encuentre, estoy haciendo algo asi:(pero esto me llena todas las posiciones vacias que encuentra, y solo necesito que llene la primera vacia que encuentra) gracias de antemano....

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

if (myArray[i] == null){

myArray[i]= nuevo valor;
}
}
  Respuesta:  nelson E.R.
buenas la verdad eso eso jamas sucederaa ni aunque fuese vector de datos primitivos, la razon es que todo en java debe tener memoria incluyendo los vectores asi q lo mejor q encontraras sera un vector con ceros. o si es un objeto entonces deberas darle memoria con new para luego poder asignarle el valor o dato de lo contrario te dara un nullpointerexception

suert

    Pregunta:  66116 - AYUDA SOBRE EL JOPTIONPANE.SHOWMESSAGEDIALOG JAVA NETBEANS
Autor:  Cristian Andres Sanchez Abaunza
Hola excelente comunidad de la web del programador, Tengo un problemita programando en java con netbeans, Veran, Debo hacer un programa que lea una informacion de un txt y la introdusca en netbeans, Mi programa capturara los nombres y las notas de una materia de un grupo universitario, De hecho yo ya hice todo el programa en netbeans y me quedo perfecto, Aqui esta todo el algoritmo para ello:

ClaseEstudiante:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package arreglo_s3at;

/**
*
* @author Estudiantes
*/
public class ClaseEstudiante {
private String nombre;
private double notadelaasistencia;
private double notadeltaller;
private double notadelparcial;

/**
* @return the nombre
*/
public String getNombre() {
return nombre;
}

/**
* @param nombre the nombre to set
*/
public void setNombre(String nombre) {
this.nombre = nombre;
}

/**
* @return the notadelaasistencia
*/
public double getNotadelaasistencia() {
return notadelaasistencia;
}

/**
* @param notadelaasistencia the notadelaasistencia to set
*/
public void setNotadelaasistencia(double notadelaasistencia) {
this.notadelaasistencia = notadelaasistencia;
}

/**
* @return the notadeltaller
*/
public double getNotadeltaller() {
return notadeltaller;
}

/**
* @param notadeltaller the notadeltaller to set
*/
public void setNotadeltaller(double notadeltaller) {
this.notadeltaller = notadeltaller;
}

/**
* @return the notadelparcial
*/
public double getNotadelparcial() {
return notadelparcial;
}

/**
* @param notadelparcial the notadelparcial to set
*/
public void setNotadelparcial(double notadelparcial) {
this.notadelparcial = notadelparcial;
}

public double getdefinitiva(){
double notafinaldeasistencia;
notafinaldeasistencia=(getNotadelaasistencia()*10)/100;
double notafinaldeltaller;
notafinaldeltaller=(getNotadeltaller()*30)/100;
double notafinaldelparcial;
notafinaldelparcial=(getNotadelparcial()*60)/100;
double notadefinita;
notadefinita=notafinaldeasistencia + notafinaldeltaller + notafinaldelparcial;
return notadefinita;
}
}

Clase Principal De Mi Programa:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package arreglo_s3at;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JOptionPane;

/**
*
* @author Estudiantes
*/
public class Arreglo_S3AT {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
ClaseEstudiante[] estudiantes;
estudiantes=new ClaseEstudiante[22];

String rutadelarchivo;
rutadelarchivo=JOptionPane.showInputDialog("Digite la ruta o ubicacion del archivo, Ejemplo(C:/Program Files/7-Zip/readme.txt):");

FileReader manejadorarchivo;

try{
manejadorarchivo=new FileReader(rutadelarchivo);
}catch(FileNotFoundException err){
JOptionPane.showMessageDialog(null, "No se encuentra el archivo
" + err.getMessage());
return;
}

BufferedReader buffertexto;
buffertexto=new BufferedReader(manejadorarchivo);

int casilla;
casilla=0;
while(casilla String lineatexto;
try{
lineatexto=buffertexto.readLine();
}catch(IOException err){
JOptionPane.showMessageDialog(null, err.getMessage());
return;
}
if(lineatexto ==null){
break;
}else{
String[] cadenas;
cadenas=lineatexto.split(";");

double notadeasistencia;
notadeasistencia=Double.parseDouble(cadenas[1]);
double notadeltaller;
notadeltaller=Double.parseDouble(cadenas[2]);
double notadelparcial;
notadelparcial=Double.parseDouble(cadenas[3]);

estudiantes[casilla]= new ClaseEstudiante();
estudiantes[casilla].setNombre(cadenas[0]);
estudiantes[casilla].setNotadelaasistencia(notadeasistencia);
estudiantes[casilla].setNotadeltaller(notadeltaller);
estudiantes[casilla].setNotadelparcial(notadelparcial);
}
casilla++;
}
double promediodetodoelsalon;
casilla=0;
promediodetodoelsalon=0;
while(casilla promediodetodoelsalon=promediodetodoelsalon + estudiantes[casilla].getdefinitiva()/22;
casilla++;
}
String mostrar;
mostrar="";
casilla=0;
while(casilla mostrar=mostrar + "Aqui se esta mostrando toda la informacion del siguiente estudiante:
" + "Su nombre completo es: " + estudiantes[casilla].getNombre() + "
" + "Su nota de asistencia es: " + estudiantes[casilla].getNotadelaasistencia() + "
" + "Su nota del taller es: " + estudiantes[casilla].getNotadeltaller() + "
" + "Su nota del parcial es: " + estudiantes[casilla].getNotadelparcial() + "
" + "y su definitiva es: " + estudiantes[casilla].getdefinitiva() + "

";
casilla++;
}
JOptionPane.showMessageDialog(null, mostrar + "El promedio de todo el salon es: " + promediodetodoelsalon);
}
}

El programa me funciona a las mil maravillas pero el problema es que el joptionpane.showmessagedialog ME SALE ENORME a lo vertical y solo puedo ver toda la informacion de 3 estudiantes, Yo necesito que el joptionpane se expanda a lo horizontal y me muestre en la esquina superior izquierda toda la informacion de un estudiante, Luego en la mitad la informacion de otro y luego en la esquina superior derecha la informacion de otro y luego baje dos espacios y repita el mismo procedimiento, Yo se que esto se puede hacer pero no tengo la mas minima idea de como debo hacerlo, Me podrian ayudar por favor? Gracias, Se los agradesco mucho
  Respuesta:  nelson E.R.
saludos, buen dia, ummh la unica forma de personalizar lo q deseas hacer es q hagas una clases q herede de loption.showmesages y a ella le modidiques el bounds, de esa forma podras hacerlo.
public class joptionpane extends JOptionPane{


public joptionpane() {
super();
int x=200,y=200,ancho=500,alto=200;
super.setBounds(x, y, ancho, alto);
this.show();
}
@Override
public void paintComponent(Graphics g){
repaint();
}

}

pero de hecho debes buscar como sobreesscribir bien el paintcomponent para q no tengas problemas con este objeto.

suerte.

    Pregunta:  66306 - JAVA NO ME DEVUELVE DECIMALES
Autor:  Rodolfo Delgado Gonzalez
ayuda con el programa! lo que pasa es que tengo que hacer una serie de divisiones e irlas sumando, algo asi

1/2+1/3+1/4+1/5.....1/n

n es una variable leida con el metodo nextInt() de la clase Scanner
el problema es que cuando hago la división por ejemplo de 1/2 me devuelve 0 y asi con todas las divisiones, por consecuente la suma total es 0 -.- les dejo el codigo espero me puedan ayudar
import java.util.Scanner;

public class _33numeroNfracciones {
public static void main(String[] args) {
Scanner e = new Scanner (System.in);
System.out.println("capture el valor de N para calcular 1-1/2+1/3+1/4+.....1/N");
int n = e.nextInt();
double suma=0;
double acum=0;
int nuevo;
for(int i=2;i<=(n+1);i++){
suma =(1/i);
acum = acum+suma;
}

System.out.println("el resultado de la suma es: "+acum);
}

}
  Respuesta:  nelson e eustaquio rodriguez
buenas, en honor a la verdad lo q le agrege a tu codigo el 1.0 no lo sabia eso lo vi en un ejemplo aca mismo en lwp. suert

public static void main(String args[]) {
Scanner e = new Scanner(System.in);
System.out.println("capture el valor de N para calcular 1-1/2+1/3+1/4+.....1/N");
int n = e.nextInt();
double acum = 0;
for (int i = 2; i <= (n + 1); i++) {

acum +=(1.0 / (double)i);
}

System.out.println("el resultado de la suma es: " + acum);
}

    Pregunta:  66490 - JTABLE, ALTURA DE CELDAS
Autor:  Luciano Luis Kuhliger Bertoni
No he logrado modificar la altura de las celdas en las tablas de JTable, he usado setRowHeight() y rowHeight(), pero por algún motivo el compilador las marca como error, podrían mandarme un código ejemplo que tengan. Gracias.
  Respuesta:  Luciano Luis Kuhliger Bertoni
Ya encontré la respuesta.

//------------- Establece alto de columnas ---------------
tabla.setRowHeight(26);

Gracias.

    Pregunta:  66513 - JSF , NO LLAMA AL ACTION DEL BEAN USANDO REQUEST,
Autor:  Fernando Rodriguez
Hola,

Estoy con el desarrollo de una web con JSF2 y tengo el siguiente problema :

Usando el scope REQUEST del bean, al navegar desde una pagina1 hacia la pagina2 no hay problema, lo hace bien, el tema es desde la pagina2 a la pagina1, cuando ejecuto un boton para confirmar una accion NO ENTRA en el metodo del Bean que le indico, sino que se recarga la misma pagina2.
Esto cuando uso el scope SESSION anda perfecto. pero no lo puedo hacer andar en REQUEST.

Boton pagina1:
<h:commandButton styleClass="boton" value="#{msg.botonNuevo}" action="#{tituloAbmBean.agregar}" type="submit">
</h:commandButton>

Boton pagina2:
<h:commandButton styleClass="boton" value="#{msg.botonConfirmar}"
action="#{tituloAbmBean.confirmarEditarEncuesta}" >
</h:commandButton>

No logro entrar en la action del bean confirmarEditarEncuesta. ese es el gran problema !!

Si alguien sabe agradeceria una ayuda.
  Respuesta:  Jorge Correal
Seguro no has configurado bien el faces-config.xml

En ese archivo tienes que tener las reglas de navegación sea de éxito o fracaso, le debes definir que string le enviaras por decir algo si le mandas un "Si" debe navegar hacia una página que debe ser la de la encuesta, si le mandas un "No" entonces deberá redirigirse hacia una pagina de error. Tienen que existir las dos opciones (navigation-rule), sino el no sabe hacia donde navegar

    Pregunta:  66562 - TIQUET FISCAL EN IMPRESOR SAMSUNG
Autor:  Diego Di Paolo
Hola gente, les cuento mi problema a ver si a alguien le pasó lo mismo y si hay solución. Yo tengo desarrollado un par de sistemas en java en donde trabajo con los controladores fiscales epson mediante el uso del pfbatch si ningún problema hasta que en un comercio tienen un par de Samsung que supuestamente están como inicializado como Epson y los tiques a CF anda bien pero las facturas A no, para tiquet uso el comando @tiqueabre .... y anda bien, para el A uso @factabre|00001 .... y da error en el samsung solamente en el epson anda bien.
¿Alguien sabe si hay un cambio de parametros para los Samsung SRP-270DF?
Gracias.

PD: comandos usada que da error

@FACTABRE|00001|T|C|A|1|P|12|I|I|GIANNILLO OMAR ||CUIT|20063088888|N|ZONA RURAL|San Cristobal|Santa Fe|.|.|C
  Respuesta:  Diego Di Paolo
Hola las Samsung se inicializan como Epson o como Hasar y trabajan de igual forma. En mi caso el problema era que no se había inicializado el campo nro 50 que va la direccion del comercio y para facturas A es obligatorio que este encabezado esté inicializado. Con el pfbatch se hace así:

crea un archivo .bat con el siguiente comando

pfbatch.exe /noecho /c:1 /I:pone50.txt /O:po.txt
pause

y el pone50.txt así:

@PONEENCABEZADO||50|DIRECCION 1234

EJEMPLO:
@PONEENCABEZADO||50|CASEROS 1486

Saludos
  Respuesta:  Jose Hochnadel
Por lo que puedo ver en esta linea de comandos, el problema es que esta mal la CUIT. Entre intersado por saber si funcionaba el PFBATCH en impresoras SAMSUNG. Por lo que puedo leer en tu post, si. Gracias.

|<  <<  53 54 55 56 57 58 59 60 61 62 63  >>  >|