Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - coke951

#21
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Gracias por este fabuloso tutorial . Pero hay otra manera más sencilla , en todo cosa para mi qué es la siguiente : Instalar los repositorios de kali , y luego ejecutar "sudo apt-get install mitmf".

Un saludo .

Tengo entendido que te instala una versión mas antigua ¿no?
¿Cuales repositorios para Kali recomiendas?

Muy buen tutorial, Gracias!
#22
Perfecto, muchas gracias a ambos, solo me falta entender mi ultima duda

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
De las tres dudas ya tienes la del main. Te ayudo con ésta, pues la primera sobre los static no la sé.

Citarcuando creamos un método en la lista de parametros hay que incluir self si utilizaremos alguna variable de instancia a la cual hacer referencia o siempre hay que utilizar self?

El self en la firma del método lo convierte, de alguna manera, en un método de instancia. Por el contrario, si declara sun método
miMetodo() sin self sería un método estático y no podrías acceder aatributos de instancia... Exactamente lo que ya indicabas.

Saludos
#23
Que tal, he estado aprendiendo un poco lo fundamental en POO con python y me he quedado un poco patidifuso con las variables estáticas y con la clase principal, espero que alguien se tome la molestia de ayudar a este pobre novato.

Bueno, mi primer lenguaje fue Java, lo tengo aprendido pues, algo bien, asi que intentare primero explicar lo que quiero hacer en python, pero con java o algo asi, para que me entiendan mejor.

En python he visto que llaman variables estáticas de clase (o una cosa asi) a las variables que yo conozco como variables de clase o bueno, mas específicamente a como yo las conozco se le llaman variables de instancia, y si quiero que la variable sea estática (que en todos los objetos instanciados sea la misma variable), seria algo así por ejemplo:

Código: java

class Hola{
static String hola;
}


pero veo que en Python seria algo asi

Código: python

class Hola():
hola = None


pero al instanciar 2 objetos, si a uno le modifico el valor de hola, en el otro objeto instanciado me sigue mostrando None, entonces ¿realmente es una variable estatica? o lo llaman asi pero no por que haga lo mismo que hace en java?



otra pregunta, al parecer se utiliza self como lo que seria en Java como this... y cuando creamos un método en la lista de parametros hay que incluir self si utilizaremos alguna variable de instancia a la cual hacer referencia o siempre hay que utilizar self?

y por ultimo... ¿que rayos pasa con el método main? Cual seria la instuccion que hay que darle a python lo equivalente que es en Java public static void main(String[]args)?

Espero que me puedan ayudar... Gracias de antemano.
Saludos y feliz año nuevo!
#24
Que tal, estoy desarrollando una aplicacion web y utilizo una base de datos, para no poner la información para acceder a la base de datos de forma hardcode hice un archivo .properties.
El proyecto lo estoy haciendo en netbeans con glassfish y no encuentro la forma de acceder a ese archivo.

El principal problema es que aun no se en que lugar poner ese archivo .properties sin que los clientes puedan llegar a tener acceso a el y otro problema es como acceder a el desde mi clase Java.

Intento utilizar el patrón de diseño MVC y DAO.
Esta login.jsp al introducir los datos los manda a LoginServlet (verifica los datos) y de ahí llama a UsuarioDAO e intenta abrir la conexión a la base de datos utilizando otra clase llamada No tienes permitido ver los links. Registrarse o Entrar a mi cuenta es un Java Class  (aquí es de donde intento cargar el archivo .properties).
Pero como dije, aun no se donde guardar en el proyecto ese archivo .properties y como puedo acceder al path.

Espero que me puedan ayudar, de antemano gracias.
#25
Perfecto, me servirá para entretenerme un rato en mi tiempo libre.
Muchas gracias
#26
Java / Juego del Gato para aprendices.
Septiembre 08, 2015, 02:59:24 PM
Para los que están aprendiendo a programar, quizás les resulte útil este pequeño programa que hice en java solo por hacer.

Realmente lo hice bastante fácil, no me metí en detalle y quizás utilice métodos bastante tontos, igual soy nuevo programando.

Solo es el juego del Gato, tiene 2 opciones, jugar contra la computadora o jugar con otra persona. Al jugar con la computadora solo introduce una posición aleatoria. Espero que les sea de utilidad.

git: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Imagenes:



Codigo:
Código: java
import java.util.Scanner;

class Gato{
public static void main(String []args){
JuegoGame game = new JuegoGame();
Scanner entrada = new Scanner(System.in);
int coordenada[] = new int[2];
boolean alternar = true;
boolean salir = false;
boolean ia = false;
boolean coorVer = false;

System.out.println("Bienvenido al juego del gato.\nEste juego fue creado por BlaN");
do{
System.out.print("\n\nPuedes jugar contra otra persona o contra la computadora.\nContra quien quieres jugar?\n(1 = contra otra persona | 2 = contra la computadora): ");
if(entrada.nextInt() == 2){
ia = true;
}

System.out.println("\nA JUGAR!");

System.out.println("\nPrimero jugara el jugador X\n");

do{
System.out.println("\n"+game.mostrarTablero()+"\n");
do{
coorVer = false;
if(alternar){
System.out.print("[*] Jugador X, Escoge fila: ");
coordenada[0] = entrada.nextInt();
System.out.print("[*] Jugador X, Escoge columna: ");
coordenada[1] = entrada.nextInt();
}else if(!ia && !alternar){
System.out.print("[*] Jugador O, Escoge fila: ");
coordenada[0] = entrada.nextInt();
System.out.print("[*] Jugador O, Escoge columna: ");
coordenada[1] = entrada.nextInt();
}else{
coordenada = game.jugarIA();
System.out.println("La computadora escogio:\nFila: "+coordenada[0]+"\nColumna: "+coordenada[1]);
}
if(coordenada[0] < 1 || coordenada[0] > 3 || coordenada[1] < 1 || coordenada[1] > 3){
coorVer = true;
System.out.println("\nSolo puedes introducir numeros del 1 al 3\n");
}else if(!coorVer){
if(game.comprobarLugarLimpio(coordenada)){
System.out.println("\nEse lugar se encuentra ocupado ya.\n");
coorVer = true;
}
}
}while(coorVer);
game.setCoordenada(coordenada, alternar);
if(game.comprobarWin(alternar) || game.comprobarEmpate()){
System.out.println("\n"+game.mostrarTablero());
if(game.comprobarEmpate()){
System.out.println("\n[->*] NO HAY GANADOR [*<-]");
}else if(alternar){
System.out.println("\n[->*] EL GANADOR ES EL JUGADOR X [*<-]");
}else if(!alternar){
System.out.println("\n[->*] EL GANADOR ES EL JUGADOR O [*<-]");
}

System.out.println("\nVolver al menu?");
entrada.nextLine();
if(entrada.nextLine().equalsIgnoreCase("si")){
game = null;
game = new JuegoGame();
alternar = true;
salir = false;
break;
}else{
salir = true;
break;
}
}else{
if(alternar)
alternar = false;
else
alternar = true;
}

}while(true);
}while(!salir);

}
}


Código: java
class JuegoGame{

char [][]gato;

public JuegoGame(){
gato = new char[3][3];
//fila 1
gato[0][0] = ' '; gato[0][1] = ' '; gato[0][2] = ' ';
//fila 2
gato[1][0] = ' '; gato[1][1] = ' '; gato[1][2] = ' ';
//fila 3
gato[2][0] = ' '; gato[2][1] = ' '; gato[2][2] = ' ';
}

public String mostrarTablero(){
String tab = "";

for(int x = 0 ; x < gato.length ; x++){
tab += "\t";
for(int i = 0 ; i < gato.length ; i++){
tab += String.valueOf(gato[x][i]);
if( i < gato.length -1){
tab += " | ";
}
}
if(x < gato.length -1){
tab +="\n\t---------\n";
}
}
return tab;
}

public boolean comprobarLugarLimpio(int[] cor){
if(gato[cor[0]-1][cor[1]-1] == 'X' || gato[cor[0]-1][cor[1]-1] == 'O'){
return true;
}else{
return false;
}
}

public void setCoordenada(int [] cor, boolean alternar){
int x = cor[0],y = cor[1];
if(alternar){
gato[x-1][y-1] = 'X';
}else{
gato[x-1][y-1] = 'O';
}
}

public int[] jugarIA(){
int cor[] = new int[2];
do{
cor[1] = (int)((Math.random()*3)+1);
cor[0] = (int)((Math.random()*3)+1);
}while(comprobarLugarLimpio(cor));
return cor;
}

public boolean comprobarEmpate(){
boolean comp = false;
int cont = 0;

for(int x = 0 ; x < gato.length ; x++){
for(int y = 0; y < gato.length ; y++){
if(gato[x][y] == 'X' || gato[x][y] == 'O'){
cont++;
}
}
}

if(cont < 9){
comp = false;
}else{
comp = true;
}
return comp;
}

public boolean comprobarWin(boolean alternar){
boolean win[] = new boolean[3];
win[0] = false;
win[1]=false;
win[2]= false;
boolean ganador = false;
boolean salir = false;
int ganadas = 0;
int contador = 0;
int x = 0;
int y = 0;
do{
if(alternar){
if('X' == gato[x][y]){
win[ganadas] = true;
ganadas++;
if(win[0] && win[1] && win[2]){
ganador = true;
}
}
}else{
if('O' == gato[x][y]){
win[ganadas] = true;
ganadas++;
if(win[0] && win[1] && win[2]){
ganador = true;
}
}
}
contador++;
if(contador <= 9){
y++;
}else if(contador > 9 && contador < 18){
x++;
}

else if(contador > 18 && contador < 21){
y++;
x++;
}else if(contador >= 21){
if(contador == 22){
x--;
y++;
}else if(contador == 23){
x--;
y++;
}
}
if(contador == 0){
win[0] = false;
win[1]=false;
win[2]= false;
ganadas = 0;
}
if(contador == 3){
win[0] = false;
win[1] = false;
win[2] = false;
ganadas = 0;
x++;
y=0;
}else if(contador == 6){
win[0] = false;
win[1] = false;
win[2] = false;
ganadas = 0;
x++;
y=0;
}else if(contador == 9){
win[0] = false;
win[1] = false;
win[2] = false;
ganadas = 0;
x=0;
y=0;
}else if(contador == 12){
win[0] = false;
win[1] = false;
win[2] = false;
ganadas = 0;
x = 0;
y++;
}else if(contador == 15){
win[0] = false;
win[1] = false;
win[2] = false;
ganadas = 0;
x = 0;
y++;
}
if(contador == 18){
win[0] = false;
win[1] = false;
win[2] = false;
ganadas = 0;
x=0;
y=0;
}else if(contador == 21){
win[0] = false;
win[1] = false;
win[2] = false;
ganadas = 0;
x=2;
y=0;
}
else if(contador ==24){
salir = true;
}
}while(!salir);

return ganador;
}
}



Cualquier duda, consejo o comentario constructivo es bienvenido.

Saludos
#27
Que tal de nuevo, creo que ya empiezo a ser frecuente por aqui... haha.
Bueno, en mi loca mente se me ocurrió hacer algo así:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Tengo un punto de venta y estoy agregando una forma para agregar un producto de forma rapida utilizando una ventana pequeña, el problema es que al momento de que no llene algún campo correctamente no tengo espacio para avisarle cual es la razón por la cual no se puede agregar el producto al sistema, obviamente podía hacer mas grande la ventana para ponerle un mensajito con eso o crear un dialogo, pero eso seria demasiado facil, asi que intente hacer algo asi como lo de arriba, y casi... CASI lo logro...

He mirado por Internet pero no encontré un tutorial que me ayudara, bueno, mi ingles es bastante malo y no terminaba por entender del todo, así que intentare explicar un poco lo que hice.
Aviso desde ya, soy demasiado malo programando, así que si lo ven y les quiere dar un tic en el ojo, porfavor, háganse volita y rueden.
Todo lo he hecho con fxml.

Es en mi clase principal en donde creo tanto la ventana de dialogo para crear un producto rapido como el stackpane que utilice para "obscurecer" el dialogo y aparecer la notificacion enfrente
clase principal: PuntoVentaApp
Código: java
	
//Crear ventana de dialogo para crear un producto rapido
public void crearProductoDialogo(){
try{
FXMLLoader loader = new FXMLLoader();
loader.setLocation(PuntoVentaApp.class.getResource("vista/CrearProducto.fxml"));
anchPane = (AnchorPane) loader.load();

Stage dialogStage = new Stage();
dialogStage.setTitle("Crear producto rapido");
dialogStage.initModality(Modality.WINDOW_MODAL);
dialogStage.initOwner(getEscenaPrincipal());

Scene scene = new Scene(anchPane);
dialogStage.setScene(scene);
dialogStage.setResizable(true);

CrearProductoControlador controlador = loader.getController();
controlador.setDialogStage(dialogStage);
controlador.setPuntoVenta(this);
dialogStage.showAndWait();
}catch(Exception e){
e.printStackTrace();
}
}

public AnchorPane getAnchorPane(){
return anchPane;
}
        //Crear la ventana de la notificacion
public StackPane alertaError(String error){
alertaFondo = null;
try{
FXMLLoader loader = new FXMLLoader();
loader.setLocation(PuntoVentaApp.class.getResource("vista/AlertaFondo.fxml"));
alertaFondo = (StackPane) loader.load();

AlertaFondoControlador controlador = loader.getController();
controlador.setPane(alertaFondo);
controlador.setPuntoVenta(this);
controlador.setError(error);
}catch(Exception e){
e.printStackTrace();
}

return alertaFondo;
}

public StackPane getAlertaError(){
return alertaFondo;
}


Algo así es la ventana del dialogo:


Utilice un stackpane en la alerta luego utilice un gridpane 1x1 para colocar el rectangulo blanco, dentro de ese gridpane coloque otro gridpane de 1x2, en el espacio de arriba coloque el label el cual mostrara el error y en el espacio de abajo coloque el boton para cerrar la notificacion o dialogo o no se como llamarle, ambos componentes (label, button) los centre, el label lo puse con valignment bottom y al button top, para que quedaran juntos.

Algo asi en el scene builder:




Ahora, cuando ocurre un problema y quiero que aparezca esa notificacion, lo llamo de esta forma:
clase: CrearProductoControlador
Código: java

                if(!error.equals("")){
puntoVenta.alertaError(error); //Le mando un string con la descripcion del error
puntoVenta.getAnchorPane().getChildren().add(puntoVenta.getAlertaError()); //agrego a la escena el stackpane de la notificacion(?)
}


Entonces si vamos a la parte del controlador de la notificacion, es algo asi:
clase: AlertaFondoControlador
Código: java


public class AlertaFondoControlador {
private StackPane pane;
private PuntoVentaApp puntoVenta;

@FXML
private Button btnCerrar;
@FXML
private Label lblError;
@FXML
private Rectangle rectangulo;

@FXML
private void initialize(){

}

@FXML
private void cerrar(){
puntoVenta.getAnchorPane().getChildren().remove(pane);
}

public void setError(String error){
lblError.setText(error);
//A veces la longitud de los mensajes pueden variar, en teoria esto me ayuda a que el rectangulo cambie su forma segun lo vaya necesitando ->
rectangulo.widthProperty().bind(Bindings.add(lblError.widthProperty(), btnCerrar.widthProperty()));
rectangulo.heightProperty().bind(Bindings.add(lblError.heightProperty(), btnCerrar.heightProperty()));
}

public void setPane(StackPane alertaFondo){
this.pane = alertaFondo;
}

public void setPuntoVenta(PuntoVentaApp puntoVenta){
this.puntoVenta = puntoVenta;
}
}


Y bueno, ya que explique un poco lo que hice, este es mi problema:


Todo funciona CASI bien, hace el pane trasparente bien, pone el mensaje del error bien, el problema esta en el rectángulo que se pone donde el quiere.

AHORA, algo misterioso que aun no comprendo, note que cuando hacia clic en OK para cerrar la notificación el rectangulo se centraba de forma correcta y luego claro se cerraba, entonces fui probando y cuando hacia clic en OK pero no dejaba de presionar el boton, el rectángulo se centraba de forma correcta, movía el mouse fuera del OK como si me hubiera arrepentido de presionar el boton, entonces todo esta bien, no se muy bien por que esto ocurre. en el peor de los casos es por que estoy utilizando windows 10.



Entonces, ¿como puedo solucionar el problema del cuadro magico?
Espero que me puedan ayudar, y lo siento si no me di a entender, por favor si ocurre esto, avísenme.

Gracias de antemano. Saludos!
#28
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Solo te voy a dar una pista: sslstrip

Otra igual de valida. MITMf
#29
Efectivamente es lo que sospechaba, yo lo modificaba desde el textfield, aun así para futuras situaciones donde sea necesario modificarlo desde la tabla utilizare tu codigo, todo esta solucionado ahora mismo.

Muchas gracias por explicarlo tan detalladamente Gus.

Saludos!
#30
Que tal de nuevo Gus!

Lo he intentado con tu codigo, pero no me funciono. Esto fue lo que hice.

mi TableColumn lo tengo declarado de esta manera:
Código: java

@FXML
private TableColumn<Producto, Integer> cantidadColumna = new TableColumn<>("Cantidad");


y para lo segundo lo hice en el metodo initialize()
Código: java

cantidadColumna.setOnEditCommit(new EventHandler<TableColumn.CellEditEvent<Producto, Integer>>(){
@Override
public void handle(TableColumn.CellEditEvent<Producto, Integer> cell){
aplicarCosto(cell.getNewValue());
}
});


Me parece que he hecho todo bien, supongo que el problema esta en la forma en la que edito la celda de cantidad, para eso tengo un textfield en el cual al momento de seleccionar un item en el tableview, en el textfield aparece el actual cantidad de ese producto, al modificarlo se actualiza automáticamente en el tableview y no ocurre nada, pero entonces, mi mente tomo un alto grado de conciencia haha...

Tenia un método el cual escuchaba ese textfield para que lanzara un error si el usuario introdujera una letra o numero flotante, lo que hice fue que si cambia el numero entonces actualizara el precio total, y ahora mismo me funciona esta solución, no se como no se me ocurrió antes.

En fin, el código en esta respuesta es correcto? o algo hice mal? ¿es por la forma en la que estoy modificando la cantidad que no llama al evento?
Te adjunto una imagen de mi programa.


Muchas gracias por responderme Gus!
Saludos!
#31
Que tal!, estoy aprendiendo un poco sobre los Listener, mi objetivo es que cuando una celda es modificada entonces llame un método.
La celda representa la cantidad, por lo tanto si la celda de la cantidad de un producto es modificada quiero que vuelva a hacer los cálculos para saber cuanto sera el total, pero no logro hacer eso automáticamente, he tenido que utilizar un botón para que cada vez que haya una modificación en la cantidad de productos el usuario tenga que presionar el botón y calcular el total y de esta forma es un poco mas tediosa, me gustaría hacerlo automáticamente, si hay una modificación en la celda entonces vuelva a hacer los cálculos.

Según yo, esto se puede llevar a cabo utilizando un listener, soy nuevo en JavaFx, y me resulta un poco complicado, he mirado por Internet pero no logre encontrar lo que yo quería hacer.
Espero que me puedan ayudar.

Gracias de antemano.
Saludos!
#32
Dudas y pedidos generales / Re:Problema con JAXB
Julio 07, 2015, 11:37:04 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si no me equivoco, JAXB trabaja en base a getter/setter. Debes respetar ésta regla. Tu código debería ser:

Código: java

@XmlRootElement(name = "productos")
public class ProductoListWrapper {
    private List<Producto> productos;

    @XmlElement(name = "producto")
    public List<Producto> getProductos(){ // siempre usa get/set
        return productos;
    }   
    public void setProductos(List<Producto> productos){
        this.productos = productos;
    }
}


Fíjate que estoy usando getProductos. Esto es importantísimo en el mundo Java, muchas cosas en Java trabajan en base a esto, como por ejemplo Java Server Faces y JAXB, entre otras.

Perfecto, eso era, no creí que influyera, JAXB es nuevo para mi, tendre que investigar mas. Muchas gracias Gus!
#33
Dudas y pedidos generales / Re:Problema con JAXB
Julio 07, 2015, 11:27:31 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
La clase Producto, tiene la anotacion XmlRootElement?
De lo contrario agrégasela, luego intenta de nuevo y nos cuentas.

Saludos.

Sip, y me da problemas.
Código: text

...

@XmlRootElement(name = "productos")
public class ProductoListWrapper {
       
        private List<Pro.....


¿a eso te refieres?
#34
Que tal, tengo un pequeño problema, no se si realmente estoy aplicando bien JAXB, lo que me gustaria hacer es guardar un objeto de tipo Producto, el cual tiene nombre, codigo, precio, cantidad etc... lo que hago es guardar todos los productos es un List, y despues intentar utilizar JAXB para guardar dicha lista de productos para cuando vuelva a iniciar el programa, cargarlos.

Esta es mi clase ProductoListWraper el cual se encarga de juntar los productos en una lista

Código: java

import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "productos")
public class ProductoListWrapper {

private List<Producto> productos;

@XmlElement(name = "producto")
public List<Producto> obtenerProductos(){
return productos;
}

public void setProductos(List<Producto> productos){
this.productos = productos;
}
}



Después tengo los métodos los cuales se encargan de guardar dicha lista en un xml:

Código: java

public void guardarInformacionProductosDesdeArchivo(File file){
try{
JAXBContext context = JAXBContext.newInstance(ProductoListWrapper.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);


ProductoListWrapper wrapper = new ProductoListWrapper();
wrapper.setProductos(productoInfo);


m.marshal(wrapper, file);


setURLPuntoVentaApp(file);
}catch(Exception e){
Dialogs.create()
.title("Error")
.masthead("No pudo ser posible guardar la infomracion en el archivo: "+file.getPath())
.showException(e);
}
}


Este método recibe un objeto de tipo File como atributo, y es que tengo otro método "setURLPuntoVentaApp" el cual sirve para guardar en un registro la ruta del archivo para que cuando vuelva a abrir el programa, cargue este xml automáticamente y "m.marshal(wrapper, file);" que me gustaría explicarlo, pero no tengo ni puta idea  :-X

El error surge cuando intento guardar el .xml

Este es el error que me sale:
Código: text

com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
La anotación JAXB está colocada en un método que no es una propiedad de JAXB
this problem is related to the following location:
at @javax.xml.bind.annotation.XmlElement(name=producto, namespace=##default, type=class javax.xml.bind.annotation.XmlElement$DEFAULT, defaultValue=, required=false, nillable=false)
at puntoVenta.modelo.ProductoListWrapper

at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:91)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:445)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:277)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:124)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1123)
at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:147)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:247)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:234)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:462)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:641)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584)
at puntoVenta.PuntoVentaApp.guardarInformacionProductosDesdeArchivo(PuntoVentaApp.java:144)
at puntoVenta.vista.LayoutRaizControlador.handleGuardarEn(LayoutRaizControlador.java:69)
at puntoVenta.vista.LayoutRaizControlador.handleGuardar(LayoutRaizControlador.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1767)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1653)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.control.MenuItem.fire(MenuItem.java:462)
at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer.doSelect(ContextMenuContent.java:1405)
at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer.lambda$createChildren$341(ContextMenuContent.java:1358)
at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer$$Lambda$343/1199140532.handle(Unknown Source)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3758)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3486)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2495)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:350)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:275)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$350(GlassViewEventHandler.java:385)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$$Lambda$327/1712109139.get(Unknown Source)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:404)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:384)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:927)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$145(WinApplication.java:101)
at com.sun.glass.ui.win.WinApplication$$Lambda$36/2117255219.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)


Tiene que ver algo sobre la anotación, pero estoy viendo en internet un ejemplo, y no logro detectar el problema..

Espero que me puedan ayudar, si necesitan que suba otro código para solucionar este problema, me avisan.

Gracias de antemano, Saludos!
#35
Listo, lo tengo arreglado, para el le suceda lo mismo que yo acá fue lo que hice.

Utilice el hotkey Alt + F2 y ejecutar xterm, después intente ejecutar gnome-terminal y esto fue lo que apareció:


Link: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta[

Busque en internet y tenia algo que ver con el locale, intente modificarlo a que estuviera el teclado e idioma en ingles ya que tenia el idioma en ingles pero el teclado español... Intente con todos los comandos que mire en los foros pero ninguno me funciono, asi que decidir volver a instalar con la configuracion totalmente en ingles del sistema operativo y actualizarlo (otras 3 hrs) y ahora funciona casi perfecto.

Durante la actualizacion probablemente pueda llegarte a aparecer un error algo asi:
CitarE: Sub-process /usr/bin/dpkg returned an error code (1)
y mas arriba el paquete .deb del problema, para solucionarlo intenta con esto:
Código: text
sudo dpkg -i --force-all [deb file path]


Ya cuando esta kali linux todo actualizado si intentas ir a setting (para cambiar la resolución de pantalla y todas esas configuraciones) NO podrás... tendrás que instalarlo por que por algún razón mágica y misteriosa no te lo instala...

Código: text
apt-get install gnome-control-center


Creo que estos errores que me surgieron pudieran ser por alguna configuración que hice mal, o por los repositorios o la verdad no se, esto es un mundo nuevo, gracias a los geeks que tuvieron mi mismo problema lo publicaron en muchos foros, pues gracias a esto pude dar con la solución.

En fin, gracias a los que me ayudaron! Espero poder aprender y posteriormente ofrecer aportaciones importantes para esta comunidad.
#36
Acabo de ver en un foro con el mismo problema en donde recomiendan usar Alt + F2 para abrir una ventana que dice "Enter a Command" escribo xterm y se abre una tipo terminal, no se si esa terminal me pueda ayudar para poder reparar el gnome-terminal
#37
ANTRAX no encuentro una forma de instalarlo sin tener que usar una terminal, si me pudieras ayudar con eso para intentarlo, te lo agradeceria (si, soy bastante malo con este sistema operativo)

SNIFER Tengo exactamente este mismo problema: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta pero el del vídeo tiene Linux Arch supongo que es otra distribucion de linux, pero es exactamente el mismo problema, creo que lo que me pides hacer es lo mismo que hace el del vídeo, exactamente en el minuto 2:02 en donde pide login en el vídeo espera a que el usuario escriba su login y contraseña y despues escribir startx para entrar al gui, en mi caso, me pide login y si no escribo nada después de 3 segundos pasa directamente con el sistema operativo, tengo que ser rápido y poder escribir mi usuario y al dar enter me pide la contraseña pero en 1 segundo me pasa al sistema operativo, me es imposible acceder a ese tipo terminal ni puta idea de como se llame, supongo que tty.
#38
Que tal, soy nuevo utilizando Kali Linux y por ahi me he enterado de la herramienta MITMF para sniffear y para poder que funcione correctamente ("segun alguien de youtube") he de tener actualizado kali linux asi que me aventure en busca de como actualizar kali linux.

Los repositorios que utilizo son sacados de: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y son estos:
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta kali/updates main contrib non-free
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta kali-bleeding-edge main
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta /kali main contrib non-free
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta /wheezy main contrib non-free
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta kali-dev main contrib non-free
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta kali-dev main/debian-installer
deb-src No tienes permitido ver los links. Registrarse o Entrar a mi cuenta kali-dev main contrib non-free
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta kali main contrib non-free
deb No tienes permitido ver los links. Registrarse o Entrar a mi cuenta kali main/debian-installer
deb-src No tienes permitido ver los links. Registrarse o Entrar a mi cuenta kali main contrib non-free
deb-src No tienes permitido ver los links. Registrarse o Entrar a mi cuenta kali/updates main contrib non-free

En teoría es siguiendo estos comandos

Código: text
apt-get update
apt-get upgrade
apt-get upgrade-dist


y después de 3 horas logra actualizarse por completo, reinicio kali (el cual lo tengo virtualizado con vmware) y cuando inicia, no me deja abrir la terminar y solo ejecuta aplicaciones con gui, por ejemplo, trato de ejecutar metasploit framework no lo abre, pero si ejecuto armitage si que lo abre. Es muy extraño, me voy a aplicaciones y trato de ejecutar la terminal root pero nada, ya he instalado y actualizado el sistema operativo dos veces pero sigo con este mismo problema.

No se cual es el problema realmente, si necesitan que suba un vídeo probando el sistema operativo lo subire, lo que sea por hacer esto funcionar.
Es chistoso por que la carrera en la que estudio es seguridad informática y Kali debería de ser mi mejor amigo... Ni siquiera lo puedo actualizar correctamente...

Espero que me puedan ayudar.
Gracias de antemano, Saludos!