Copy+Paste im Texteditor

darksmilie

Erfahrenes Mitglied
Hi,

Ich habe mir mittlerweile ein schönen Texteditor programmiert. Aber mir fehlt immernoch eine Grundlegende Funktion "Copy+Paste". Ich kann in meinem Editor kein copy paste durchführen. Die Actions sind zwar in dem Contextmenu vom Editor aber sie tun nix. Weiß jemand von euch wie ich diese Actions aktivieren kann?
 
Moin,

hier mal meine Klasse "KontextMenu" ... vlt. hilft sie Dir ja weiter ;)

Java:
public class KontextMenu 
{
    private JPopupMenu menu = new JPopupMenu();
    private JMenuItem entry = null;

    public KontextMenu(final JTextComponent comp)
    {
        ActionListener al = new ActionListener() 
        {
            public void actionPerformed( ActionEvent e )
            {
                if(comp.getToolkit().getSystemClipboard() != null) 
                {
                    if( e.getActionCommand().equals("Ausschneiden") ) 
                    {
                        comp.cut();
                    } 
                    else if( e.getActionCommand().equals("Kopieren") ) 
                    {
                        comp.copy();
                    } 
                    else if( e.getActionCommand().equals("Einfügen") ) 
                    {
                        comp.paste();
                    }
                    else if( e.getActionCommand().equals("Alles markieren") ) 
                    {
                        comp.selectAll();
                    }
                }
            }
        };

        comp.addMouseListener( new MouseAdapter() 
        {
            public void mouseReleased( MouseEvent me ) 
            {
                if ( me.isPopupTrigger() )
                {
                    // Prüft, ob das TextComponent editierbar ist
                    if( comp.isEditable() )
                    {
                        menu.getComponent(2).setEnabled(true);
                        menu.getComponent(4).setEnabled(true);
                    }
                    else
                    {
                        menu.getComponent(2).setEnabled(false);
                        menu.getComponent(4).setEnabled(false);
                    }

                    menu.show( me.getComponent(), me.getX(), me.getY() );
                }
            }
        }
        );

        menu.add(new JMenuItem("Menü"));
        menu.getComponent(0).setEnabled(false);

        menu.addSeparator();

        entry = new JMenuItem( "Ausschneiden" );
        menu.add( entry );
        entry.addActionListener(al);

        entry = new JMenuItem( "Kopieren" );
        menu.add( entry );
        entry.addActionListener(al);

        entry = new JMenuItem( "Einfügen" );
        menu.add( entry );
        entry.addActionListener(al);

        menu.addSeparator();

        entry = new JMenuItem( "Alles markieren" );
        menu.add( entry );
        entry.addActionListener(al);

    }
}

Gruß
Klaus
 
'Oh da habe ich wohl zu wenig Informationen in meiner Beschreibung hinterlassen.

Also ich habe eine RCP Anwendung und mein Texteditor ist ein JFace Text Editor, der von AbstractDecoratedTextEditor erbt.
 
Zurück