private void tvFileViewValueChanged(javax.swing.event.TreeSelectionEvent evt)//GEN-FIRST:event_tvFileViewValueChanged
    {//GEN-HEADEREND:event_tvFileViewValueChanged
        boolean sel = true;
        
        TreePath path = tvFileView.getSelectionPath();
        TreeNode _tn = null;
        if (path == null) sel = false;
        else
        {
            _tn = (TreeNode)path.getLastPathComponent();
            if (_tn == null || _tn.getClass() != FileTreeNode.class) sel = false;
        }
        
        if (!sel)
        {
            lblStatusLabel.setText("");
            selectedPath = "";
            
            btnExtractItem.setEnabled(false);
            btnReplaceItem.setEnabled(false);
            btnRenameItem.setEnabled(false);
            btnDeleteItem.setEnabled(false);
        }
        else
        {
            FileTreeNode tn = (FileTreeNode)_tn;
            setFileDescription(tn);
            
            btnExtractItem.setEnabled(true);
            btnReplaceItem.setEnabled(tn.isFile);
            btnRenameItem.setEnabled(true);
            btnDeleteItem.setEnabled(!selectedPath.equals(archive.getRoot()));
        }
    }//GEN-LAST:event_tvFileViewValueChanged