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

#1
Mí código del TextField:
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
Java / Re: Ayuda con eventos del teclado
17 Noviembre 2016, 12:29 PM
cual tecla debe de apretar?.

O sea, que si yo aprieto una tecla, haga algo al instante?.

Siempre es bueno que agregues el lenguaje y mas detalles del problema.
#3
Código (java) [Seleccionar]
public class GUI extends JFrame {

    /**
     * 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() {
        JPanel contentPane;
        setResizable(false);
        setTitle("Centralita");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 500, 500);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JCheckBox chckbxLocal = new JCheckBox("Local");
        chckbxLocal.setBounds(6, 35, 90, 23);
        contentPane.add(chckbxLocal);

        JCheckBox chckbxProvincial = new JCheckBox("Provincial");
        chckbxProvincial.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                if (chckbxProvincial.isSelected())
                {
                    chckbxLocal.setEnabled(false);
                    chckbxFranja1.setEnabled(true);
                    chckbxFranja2.setEnabled(true);
                    chckbxFranja3.setEnabled(true);
                }

                else
                {
                    chckbxLocal.setEnabled(true);
                    chckbxFranja1.setEnabled(false);
                    chckbxFranja2.setEnabled(false);
                    chckbxFranja3.setEnabled(false);
                }
            }
        });
        chckbxProvincial.setBounds(6, 61, 90, 23);
        contentPane.add(chckbxProvincial);

        JCheckBox chckbxFranja1 = new JCheckBox("Franja 1");
        chckbxFranja1.setBounds(16, 87, 80, 23);
        contentPane.add(chckbxFranja1);

        JCheckBox chckbxFranja2 = new JCheckBox("Franja 2");
        chckbxFranja2.setBounds(16, 113, 80, 23);
        contentPane.add(chckbxFranja2);

        JCheckBox chckbxFranja3 = new JCheckBox("Franja 3");
        chckbxFranja3.setBounds(16, 139, 80, 23);
        contentPane.add(chckbxFranja3);
    }
}


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.
#4


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
private JTable table;

// Inicializamos la tabla
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:
// 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.
#5
Uso Eclipse Neon.
El problema es que no me marca ninguna linea y tampoco me dice que linea es el problema.

El error que me muestra es este:
CitarException in thread "AWT-EventQueue-0" java.lang.NullPointerException
   at GUI$2.actionPerformed(GUI.java:109)
   at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
   at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
   at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$500(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)

La verdad que estoy perdido en esto.
#6
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:
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:
#7
Java / Re: Error al comparar String con "y" o "Y"
6 Noviembre 2016, 19:22 PM
Cita de: engel lex en  6 Noviembre 2016, 19:18 PM
si es Java, el tema debe ir en el subforo de Java, no es programación general!

movido

cierto, gracias bro

nota: he cambiado la forma de hacer la comparacion por esta:
if (opcionBorrar.equals("y") || opcionBorrar.equals("Y"))
ahora todo funciona bien, al parecer no se puede usar == al comparar un String con "letras".

Gracias a todos por tratar de ayudarme.
#8
Java / Re: Error al comparar String con "y" o "Y"
6 Noviembre 2016, 19:17 PM
no funciona.

Lo que pasa es que yo tengo esto para poder leer datos y capturarlos.

import java.util.Scanner;
Scanner lectura = new Scanner(System.in);


con esto hago esto:
System.out.println("Seguro que desea borrar todo? (Y/N): ");
String opcionBorrar = lectura.nextLine();

funciona perfecto, el problema esta al comparar el String, no se si con == es la forma correcta.

alguna otra idea?.
#9
Java / Error al comparar String con "y" o "Y"
6 Noviembre 2016, 18:43 PM
Hola,
Tengo esto:

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.
#10
y como se invoca correctamente el get:

array.get
centralita.get
llamada.get

cual de los tres?.