ApplejuiceFassade.getInstance().processLink(link);
processLink(link);
    private void init() throws Exception {        IconManager im = IconManager.getInstance();        item1.setText(linkLaden);        item1.setIcon(im.getIcon("download"));        sucheAbbrechen.setText(sucheStoppen);        sucheAbbrechen.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                sucheAbbrechen.setEnabled(false);                ApplejuiceFassade.getInstance().cancelSearch(search);            }        });        popup.add(item1);        setLayout(new BorderLayout());        updateZahlen();        tableModel = new SearchResultTableModel(search);        searchResultTable = new JTreeTable(tableModel);        searchResultTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);        add(new JScrollPane(searchResultTable), BorderLayout.CENTER);        JPanel southPanel = new JPanel(new BorderLayout());        JPanel textPanel = new JPanel(new FlowLayout());        textPanel.add(label1);        textPanel.add(label2);        textPanel.add(label3);        JPanel panel1 = new JPanel(new FlowLayout());        panel1.add(sucheAbbrechen);        southPanel.add(panel1, BorderLayout.WEST);        southPanel.add(textPanel, BorderLayout.CENTER);        add(southPanel, BorderLayout.SOUTH);        MouseAdapter popupMouseAdapter = new MouseAdapter() {            public void mousePressed(MouseEvent me) {                if (SwingUtilities.isRightMouseButton(me)) {                    Point p = me.getPoint();                    int iRow = searchResultTable.rowAtPoint(p);                    int iCol = searchResultTable.columnAtPoint(p);                    if (iRow != -1 && iCol != -1) {                        searchResultTable.setRowSelectionInterval(iRow, iRow);                        searchResultTable.setColumnSelectionInterval(iCol, iCol);                    }                }                maybeShowPopup(me);            }            public void mouseReleased(MouseEvent e) {                super.mouseReleased(e);                maybeShowPopup(e);            }            private void maybeShowPopup(MouseEvent e) {                if (e.isPopupTrigger()) {                    int sel = searchResultTable.getSelectedRow();                    if (sel != -1) {                        Object result = ( (TreeTableModelAdapter)                                         searchResultTable.getModel()).                            nodeForRow(sel);                        if (result.getClass() == SearchNode.class ||                            result.getClass() == Search.SearchEntry.FileName.class) {                            popup.show(searchResultTable, e.getX(), e.getY());                        }                    }                }            }        };        searchResultTable.addMouseListener(popupMouseAdapter);        item1.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                int sel = searchResultTable.getSelectedRow();                if (sel != -1) {                    Object result = ( (TreeTableModelAdapter) searchResultTable.                                     getModel()).nodeForRow(sel);                    if (result.getClass() == SearchNode.class) {                        Search.SearchEntry entry = (Search.SearchEntry) ( (                            SearchNode) result).getValueObject();                        StringBuffer toCopy = new StringBuffer();                        toCopy.append("ajfsp://file|");                        toCopy.append(searchResultTable.getValueAt(sel, 0) +                                      "|" + entry.getChecksumme() + "|" +                                      entry.getGroesse() + "/");                        String link = toCopy.toString();                        ApplejuiceFassade.getInstance().processLink(link);                    }                    else if (result.getClass() == Search.SearchEntry.FileName.class) {                        String dateiname = ( (Search.SearchEntry.FileName)                                            result).getDateiName();                        int i = sel;                        Object temp = null;                        while (i > 0) {                            i--;                            temp = ( (TreeTableModelAdapter) searchResultTable.                                    getModel()).nodeForRow(i);                            if (temp.getClass() == SearchNode.class) {                                break;                            }                        }                        if (temp != null && temp.getClass() == SearchNode.class) {                            Search.SearchEntry entry = (Search.SearchEntry) ( (                                SearchNode) temp).getValueObject();                            StringBuffer toCopy = new StringBuffer();                            toCopy.append("ajfsp://file|");                            toCopy.append(dateiname + "|" + entry.getChecksumme() +                                          "|" +                                          entry.getGroesse() + "/");                            String link = toCopy.toString();                            ApplejuiceFassade.getInstance().processLink(link);                        }                    }                }            }        });        TableColumnModel model = searchResultTable.getColumnModel();        SortButtonRenderer renderer = new SortButtonRenderer();        for (int i = 0; i < tableColumns.length; i++) {            tableColumns[i] = model.getColumn(i);            tableColumns[i].setHeaderRenderer(renderer);        }        JTableHeader header = searchResultTable.getTableHeader();        header.addMouseListener(new SortMouseAdapter(header, renderer));    }