Foro de elhacker.net

Programación => Java => Mensaje iniciado por: rgomez9119 en 16 Noviembre 2016, 01:17 am



Título: Java Eclipse WindowsBuilder: me dice que cambie mis textfield y checkbox a final
Publicado por: rgomez9119 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.