Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > как очистить буфер обмена?


Автор: check 20.11.2006, 22:22
Очевидно нужно использовать метод setContents,  но как именно?
Попытка передать в него null  ничего не дала,  хотя ошибок при компиляции не было.    

Автор: check 20.11.2006, 22:44
Почему я в GUI это пишу?  Так ведь Swing всё таки...  Хотя как к таковому Гую отношение имеет очень относительное.

Автор: Goliath 20.11.2006, 22:45
Код

// If a string is on the system clipboard, this method returns it;
// otherwise it returns null.
public static String getClipboard() 
{
        Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
    
        try 
       {
            if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) 
            {
                String text = (String)t.getTransferData(DataFlavor.stringFlavor);
                return text;
            }
        } 
        catch (UnsupportedFlavorException e) 
        {} 
        catch (IOException e) 
        {}
        return null;
}
    
// This method writes a string to the system clipboard.
// otherwise it returns null.
public static void setClipboard(String str) 
{
        StringSelection ss = new StringSelection(str);
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
}


Автор: check 20.11.2006, 23:17
А, вот мне чего не хватало
Код

StringSelection ss = new StringSelection(str);


Goliath,  большущее тебе спасибо и +1!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)