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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Java / MaskFormatter a un TextField (Eclipse WindowsBuilder) en: 18 Noviembre 2016, 21:16 pm
Mí código del TextField:
Código:
JTextField txtNumeroDeOrigen = new JTextField();
txtNumeroDeOrigen.setBounds(237, 11, 125, 20);
contentPane.add(txtNumeroDeOrigen);
txtNumeroDeOrigen.setColumns(10);

En ese campo yo solicito un número de telefono: ###-###-####
Me gustaría tener un MaskFormatter, o como se llame, para que escriba en el TextField, ejemplo: (787) 555-6666. Asi aprovecho y solo permito el ingreso de números, y no letras o signos raros.

He visto ejemplos pero no los entiendo y no me funcionan.
2  Programación / Java / Java Eclipse WindowsBuilder: me dice que cambie mis textfield y checkbox a final en: 16 Noviembre 2016, 01:17 am
Código
  1. public class GUI extends JFrame {
  2.  
  3.    /**
  4.      * Launch the application.
  5.      */
  6.    public static void main(String[] args) {
  7.        EventQueue.invokeLater(new Runnable() {
  8.            public void run() {
  9.                try {
  10.                    GUI frame = new GUI();
  11.                    frame.setVisible(true);
  12.                } catch (Exception e) {
  13.                    e.printStackTrace();
  14.                }
  15.            }
  16.        });
  17.    }
  18.  
  19.    /**
  20.      * Create the frame.
  21.      */
  22.    public GUI() {
  23.        JPanel contentPane;
  24.        setResizable(false);
  25.        setTitle("Centralita");
  26.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  27.        setBounds(100, 100, 500, 500);
  28.        contentPane = new JPanel();
  29.        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  30.        setContentPane(contentPane);
  31.        contentPane.setLayout(null);
  32.  
  33.        JCheckBox chckbxLocal = new JCheckBox("Local");
  34.        chckbxLocal.setBounds(6, 35, 90, 23);
  35.        contentPane.add(chckbxLocal);
  36.  
  37.        JCheckBox chckbxProvincial = new JCheckBox("Provincial");
  38.        chckbxProvincial.addActionListener(new ActionListener() {
  39.            public void actionPerformed(ActionEvent arg0) {
  40.                if (chckbxProvincial.isSelected())
  41.                {
  42.                    chckbxLocal.setEnabled(false);
  43.                    chckbxFranja1.setEnabled(true);
  44.                    chckbxFranja2.setEnabled(true);
  45.                    chckbxFranja3.setEnabled(true);
  46.                }
  47.  
  48.                else
  49.                {
  50.                    chckbxLocal.setEnabled(true);
  51.                    chckbxFranja1.setEnabled(false);
  52.                    chckbxFranja2.setEnabled(false);
  53.                    chckbxFranja3.setEnabled(false);
  54.                }
  55.            }
  56.        });
  57.        chckbxProvincial.setBounds(6, 61, 90, 23);
  58.        contentPane.add(chckbxProvincial);
  59.  
  60.        JCheckBox chckbxFranja1 = new JCheckBox("Franja 1");
  61.        chckbxFranja1.setBounds(16, 87, 80, 23);
  62.        contentPane.add(chckbxFranja1);
  63.  
  64.        JCheckBox chckbxFranja2 = new JCheckBox("Franja 2");
  65.        chckbxFranja2.setBounds(16, 113, 80, 23);
  66.        contentPane.add(chckbxFranja2);
  67.  
  68.        JCheckBox chckbxFranja3 = new JCheckBox("Franja 3");
  69.        chckbxFranja3.setBounds(16, 139, 80, 23);
  70.        contentPane.add(chckbxFranja3);
  71.    }
  72. }

El problema aparece dentro del "actionPerformed" de "chckbxProvincial". Intenté declararlo al comienzo del programa con final, incluso inicializandolo con null pero, despues de hacer esto el programa vuelve a pedir que estos cambios sean removidos, o sea, no entiendo por qué se contradice.

Qué debo hacer?, debo declarar todo antes de "public GUI()"?, estoy confundido.

MOD: Etiqueta GeSHi corregida.
3  Programación / Java / Crear y llenar Tabla en Java Eclipse WindowsBuilder en: 14 Noviembre 2016, 21:40 pm


Hola,
Estoy haciendo ese programa y estoy tratando de hacer una tabla.
He leído un manual en Google y he seguido los pasos pero, no me funciona.

Tengo esto:
// Creamos la tabla
Código:
	private JTable table;

// Inicializamos la tabla
Código:
		table =  new JTable();
table.setBounds(10, 297, 445, 143);
contentPane.add(table);

// Arreglo del tipo Object
final Object []object = new Object[6];

// Creamos el modelo
final DefaultTableModel modelo;

// Inicializamos el modelo
modelo = new DefaultTableModel();

// Vinculamos nuestro modelo a la tabla
table.setModel(modelo);

// Columnas de la tabla
modelo.addColumn("#");
modelo.addColumn("Tipo");
modelo.addColumn("Número Origen");
modelo.addColumn("Número Destino");
modelo.addColumn("Duración");
modelo.addColumn("Franja");
modelo.addColumn("Precio");

Luego, a la hora de capturar los datos:
Código:
// Llenamos la tabla
object[0] = callcenter.getTotalLlamadas();
object[1] = "Local";
object[2] = txtNumeroOrigen.getText();
object[3] = txtNumeroDestino.getText();
object[4] = txtDuracion.getText();
object[5] = "";
object[6] = refrescarPrecio(callLocal.calcularPrecio());
modelo.addRow(object);

Luego de hacer clic en "Calcular" la tabla no hace nada, sigue vacía y sin los títulos.
Qué puede ser?.

También me gustaría añadirle un ScrollBar para poder subir y bajar, espero puedan ayudarme.
4  Programación / Java / NullPointerException usando WindowsBuilder y jFrame en: 10 Noviembre 2016, 18:31 pm
Hola,
Estoy tratando de hacer un ejercicio para aprender a usar estas cosas y cuando hago clic en el boton para hacer los calculos, me sale el error:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

El codigo entero es:
Código:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;

import java.awt.Font;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.awt.event.ActionEvent;
import javax.swing.border.TitledBorder;
import javax.swing.JRadioButton;
import javax.swing.JComboBox;
import javax.swing.UIManager;
import java.awt.Color;
import javax.swing.JCheckBox;


public class GUI extends JFrame {

private JPanel contentPane;
private JTextField txtNumeroOrigen;
private JTextField txtNumeroDestino;
private JTextField txtDuracion;
private JTextField txtPrecio;
private JCheckBox checkboxProvincial;
private JCheckBox checkboxLocal;
private JCheckBox checkboxFranja1;
private JCheckBox checkboxFranja2;
private JCheckBox checkboxFranja3;
Centralita callcenter = new Centralita();

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GUI frame = new GUI();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public GUI() {
setResizable(false);
setTitle("Call Center");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 190);
contentPane = new JPanel();
contentPane.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Calcular Llamadas", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel lblTipo = new JLabel("Tipo:");
lblTipo.setFont(new Font("Tahoma", Font.BOLD, 11));
lblTipo.setBounds(6, 30, 46, 14);
contentPane.add(lblTipo);

JLabel lblFraja = new JLabel("Fraja:");
lblFraja.setFont(new Font("Tahoma", Font.BOLD, 11));
lblFraja.setBounds(6, 107, 46, 14);
contentPane.add(lblFraja);

JLabel lblNmeroOrigen = new JLabel("N\u00FAmero Origen");
lblNmeroOrigen.setBounds(128, 30, 108, 14);
contentPane.add(lblNmeroOrigen);

JLabel lblNmeroDestino = new JLabel("N\u00FAmero Destino");
lblNmeroDestino.setBounds(128, 55, 108, 14);
contentPane.add(lblNmeroDestino);

JLabel lblDuracion = new JLabel("Duraci\u00F3n");
lblDuracion.setBounds(128, 81, 108, 14);
contentPane.add(lblDuracion);

txtNumeroOrigen = new JTextField();
txtNumeroOrigen.setBounds(246, 30, 130, 20);
contentPane.add(txtNumeroOrigen);
txtNumeroOrigen.setColumns(10);

txtNumeroDestino = new JTextField();
txtNumeroDestino.setBounds(246, 55, 130, 20);
contentPane.add(txtNumeroDestino);
txtNumeroDestino.setColumns(10);

txtDuracion = new JTextField();
txtDuracion.setBounds(246, 81, 130, 20);
contentPane.add(txtDuracion);
txtDuracion.setColumns(10);

JButton btnCalcular = new JButton("Calcular");
btnCalcular.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// Si es Llamada Local
if (checkboxLocal.isSelected())
{
LlamadaLocal callLocal = new LlamadaLocal (txtNumeroOrigen.getText(), txtNumeroDestino.getText(), Integer.parseInt(txtDuracion.getText()));
callcenter.registrarLlamada(callLocal);
refrescarPrecio(callcenter.getTotalFacturado());
}

// Si es Llamada Provincial y Franja 1
else if (checkboxProvincial.isSelected() && checkboxFranja1.isSelected())
{
LlamadaProvincial callProvincial = new LlamadaProvincial (txtNumeroOrigen.getText(), txtNumeroDestino.getText(), Integer.parseInt(txtDuracion.getText()), 1);
callcenter.registrarLlamada(callProvincial);
refrescarPrecio(callcenter.getTotalFacturado());
}

// Si es Llamada Provincial y Franja 2
else if (checkboxProvincial.isSelected() && checkboxFranja2.isSelected())
{
LlamadaProvincial callProvincial = new LlamadaProvincial (txtNumeroOrigen.getText(), txtNumeroDestino.getText(), Integer.parseInt(txtDuracion.getText()), 2);
callcenter.registrarLlamada(callProvincial);
refrescarPrecio(callcenter.getTotalFacturado());
}

// Si es Llamada Provincial y Franja 3
else if (checkboxProvincial.isSelected() && checkboxFranja3.isSelected())
{
LlamadaProvincial callProvincial = new LlamadaProvincial (txtNumeroOrigen.getText(), txtNumeroDestino.getText(), Integer.parseInt(txtDuracion.getText()), 3);
callcenter.registrarLlamada(callProvincial);
refrescarPrecio(callcenter.getTotalFacturado());
}

// Si nada esta seleccionado
else
JOptionPane.showMessageDialog(null, "Debe seleccionar el tipo de llamada y la franja.");
}
});
btnCalcular.setBounds(147, 128, 89, 23);
contentPane.add(btnCalcular);

JButton btnLimpiar = new JButton("Limpiar");
btnLimpiar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
txtNumeroOrigen.setText("");
txtNumeroDestino.setText("");
txtDuracion.setText("");
txtPrecio.setText("");
checkboxProvincial.setSelected(false);
checkboxLocal.setSelected(false);
checkboxFranja1.setSelected(false);
checkboxFranja2.setSelected(false);
checkboxFranja3.setSelected(false);
}
});
btnLimpiar.setBounds(246, 128, 89, 23);
contentPane.add(btnLimpiar);

txtPrecio = new JTextField();
txtPrecio.setForeground(Color.RED);
txtPrecio.setEditable(false);
txtPrecio.setBounds(345, 129, 86, 20);
contentPane.add(txtPrecio);
txtPrecio.setColumns(10);

JLabel lblPrecio = new JLabel("Precio:");
lblPrecio.setFont(new Font("Tahoma", Font.BOLD, 11));
lblPrecio.setBounds(385, 107, 46, 14);
contentPane.add(lblPrecio);

JCheckBox checkboxProvincial = new JCheckBox("Provincial");
checkboxProvincial.setBounds(6, 51, 97, 23);
contentPane.add(checkboxProvincial);

JCheckBox checkboxLocal = new JCheckBox("Local");
checkboxLocal.setBounds(6, 77, 97, 23);
contentPane.add(checkboxLocal);

JCheckBox checkboxFranja1 = new JCheckBox("1");
checkboxFranja1.setBounds(6, 128, 39, 23);
contentPane.add(checkboxFranja1);

JCheckBox checkboxFranja2 = new JCheckBox("2");
checkboxFranja2.setBounds(47, 128, 39, 23);
contentPane.add(checkboxFranja2);

JCheckBox checkboxFranja3 = new JCheckBox("3");
checkboxFranja3.setBounds(88, 128, 46, 23);
contentPane.add(checkboxFranja3);
}

public void refrescarPrecio(double precio)
{
DecimalFormat df = (DecimalFormat)NumberFormat.getInstance();
df.applyPattern("$ ###,###.##");

String Precio = "";
Precio = df.format(Precio);
txtPrecio.setText(Precio);
}
}

Alguna idea?, es mi primer programa usando jFrame, a que se refiere ese error?, que debo inicializar o que?.

Foto del programa:
5  Programación / Java / Error al comparar String con "y" o "Y" en: 6 Noviembre 2016, 18:43 pm
Hola,
Tengo esto:

Código:
case 5: // Borrar todas las mercancias existentes
lectura.nextLine(); // Borrando buffer
System.out.println("Seguro que desea borrar todo? (Y/N): ");
String opcionBorrar = lectura.nextLine();

if (opcionBorrar == "y" || opcionBorrar == "Y")
{
mercancias.clear();
System.out.println("....................BORRADO");
}
break;

}

Al escribir y o Y por el teclado, no funciona, es como si nunca entrara en el IF.

Estoy comparando mal el String?. Se hace de otra forma?.
Espero que me ayuden.
6  Programación / Programación General / Pasar un arreglo desde el main a un metodo en una clase en: 31 Octubre 2016, 18:30 pm
Hola a todos,

Estoy aprendiendo JAVA en ECLIPSE NEON y tengo una duda para poder resolver un ejercicio.

Main:

Código:
public class Main {

public static void main(String[] args) {

Centralita callcenter = new Centralita();

LlamadaProvincial p1 = new LlamadaProvincial ("8299333777", "8095551111", 43, 1);
Centralita.registrarLlamada(p1);
}

}

clase Centralita:

Código:
import java.util.ArrayList;

public class Centralita {

public static ArrayList<Llamada> llamadas = new ArrayList<Llamada>();
private int cont; // TotalLlamadas
private int acum; // TotalFacturado

public int getTotalLlamadas()
{
return cont;
}

public double getTotalFacturado()
{
return acum;
}

public static void registrarLlamada(Llamada llamadas)
{
cont++;
acum++;
}

}

1. En el Main:
LlamadaProvincial p1 = new LlamadaProvincial ("8299333777", "8095551111", 43, 1);
Centralita.registrarLlamada(p1);

estoy tratando de pasar "p1" al metodo registrarLlamada() que esta en la clase Centralita. Pero me sale error.

2. En el metodo:
Código:
public static void registrarLlamada(Llamada llamadas)
estoy pasandole el arreglo correctamente?.
Llamada = tipo de dato (otra clase que tengo)
llamadas =  nombre del arreglo

3. Cual es la forma correcta de pasarle datos a un metodo en otra clase?. Que estoy haciendo mal?

4. El uso de public y static es obligatorio para que el metodo y el arreglo sean visibles en el main?.

Espero puedan ayudarme, a lo mejor son dudas fáciles para ustedes pero, para mi es un dolor de cabeza.
Saludos.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines