There are 2 sets of 4 buttons being created.
The ImageIcon of the 1st set of buttons are to be dragged onto the 2nd set of buttons.
The boolean enab variable is for determining if the 2nd set of 4 buttons are enabled or not.
I initially set the boolean to false, only when the imageicon from the 1st set of buttons are dragged over, the enab value will change to true.
However, the 2nd set of buttons remain disabled while and after I dragged the images over to it.
Any help is appreciated.
/>
The ImageIcon of the 1st set of buttons are to be dragged onto the 2nd set of buttons.
The boolean enab variable is for determining if the 2nd set of 4 buttons are enabled or not.
I initially set the boolean to false, only when the imageicon from the 1st set of buttons are dragged over, the enab value will change to true.
However, the 2nd set of buttons remain disabled while and after I dragged the images over to it.
Any help is appreciated.

private boolean enab = false; // creates 4 buttons for(int a=0; a<4; a++){ button[a] = new JButton(new ImageIcon()); TransferHandler transfer = new TransferHandler("icon"); button[a].setTransferHandler(transfer); button[a].addMouseListener(new MouseAdapter(){ public void mousePressed(MouseEvent e){ JButton button = (JButton)e.getSource(); TransferHandler handle = button.getTransferHandler(); handle.exportAsDrag(button, e, TransferHandler.COPY); name1 = e.getComponent().getName(); System.out.println(name1); enab = true; System.out.println("enabled0:" + enab); // prints true } } } // adds the 4 buttons to panel leftg.add(button[a]); // creates another 4 buttons for stuff to be dragged to for(int b=0; b<4; b++){ rg[b] = new JButton(); id2 += Integer.toString(++cc2); // unique name for each button as an ID rg[b].setName(id2); TransferHandler transfer1 = new TransferHandler("icon"); rg[b].setTransferHandler(transfer1); rg[b].setEnabled(enab); System.out.println("enabled00:" + enab); // prints false ChangeListener clistener = new ChangeListener(){ public void stateChanged(ChangeEvent ce) { JButton source = (JButton)ce.getSource(); ButtonModel mod = source.getModel(); System.out.println("enabled1:" + enab); // no output if (mod.isEnabled()){ System.out.println("enabled2:" + enab); // no output if(name1 == source.getName()){ } else{ source.setIcon(null); } } else{ } }; }; rg[b].addChangeListener(clistener); // adds the 4 buttons to panel rightg.add(rg[b]); }