|
Mostrar Mensajes
|
Páginas: [1] 2
|
1
|
Programación / Java / MaskFormatter a un TextField (Eclipse WindowsBuilder)
|
en: 18 Noviembre 2016, 21:16 pm
|
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
|
Programación / Java / Re: Ayuda con eventos del teclado
|
en: 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
|
Programación / Java / Java Eclipse WindowsBuilder: me dice que cambie mis textfield y checkbox a final
|
en: 16 Noviembre 2016, 01:17 am
|
public class GUI extends JFrame { /** * Launch the application. */ public static void main (String[] args ) { public void run() { try { GUI frame = new GUI(); frame.setVisible(true); e.printStackTrace(); } } }); } /** * Create the frame. */ public GUI() { setResizable(false); setTitle("Centralita"); setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); setBounds(100, 100, 500, 500); setContentPane(contentPane); contentPane.setLayout(null); chckbxLocal.setBounds(6, 35, 90, 23); contentPane.add(chckbxLocal); 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); chckbxFranja1.setBounds(16, 87, 80, 23); contentPane.add(chckbxFranja1); chckbxFranja2.setBounds(16, 113, 80, 23); contentPane.add(chckbxFranja2); 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
|
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 // 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
|
Programación / Java / Re: NullPointerException usando WindowsBuilder y jFrame
|
en: 10 Noviembre 2016, 19:20 pm
|
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: Exception 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
|
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: 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
|
Programación / Java / Re: Error al comparar String con "y" o "Y"
|
en: 6 Noviembre 2016, 19:22 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
|
Programación / Java / Re: Error al comparar String con "y" o "Y"
|
en: 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
|
Programación / Java / Error al comparar String con "y" o "Y"
|
en: 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.
|
|
|
|
|
|
|