@Override
 public void actionPerformed(ActionEvent e) {
   JRadioButton button = ((JRadioButton) e.getSource());
   if (button.isSelected()) {
     ITaskbarList3.TbpFlag flag =
         (ITaskbarList3.TbpFlag) button.getClientProperty(ITaskbarList3.TbpFlag.class);
     list.SetProgressValue((Pointer) hwnd, slider.getValue(), slider.getMaximum());
     list.SetProgressState((Pointer) hwnd, flag);
   }
 }
  public void setVisible(boolean visible) {
    super.setVisible(visible);

    long hwndVal =
        JAWTUtils.getNativePeerHandle(this); // TODO com.sun.jna.Native.getComponentID(this);
    hwnd = Pointer.pointerToAddress(hwndVal);
    list.SetProgressValue((Pointer) hwnd, slider.getValue(), slider.getMaximum());
  }
 @Override
 public void stateChanged(ChangeEvent e) {
   list.SetProgressValue((Pointer) hwnd, slider.getValue(), slider.getMaximum());
 }
 @Override
 protected void finalize() throws Throwable {
   super.finalize();
   list.Release();
 }