2014-02-16 3 views
-1

поэтому я добавлял функцию в моей игре, где вы можете скопировать буфер обмена в окно чата, так у меня есть этот кодПроверка содержимого буфера обмена

public static String getClipboardContents() { 
    String result = ""; 
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); 
    Transferable contents = clipboard.getContents(null); 
    boolean hasTransferableText = (contents != null) 
      && contents.isDataFlavorSupported(DataFlavor.stringFlavor); 
    if (hasTransferableText) { 
     try { 
      result = (String) contents.getTransferData(DataFlavor.stringFlavor); 
     } catch (UnsupportedFlavorException ex) { 
      System.out.println(ex); 
      ex.printStackTrace(); 
     } catch (IOException ex) { 
      System.out.println(ex); 
      ex.printStackTrace(); 
     } 
    } 
    return result; 

} 

}

if ((keyevent.isControlDown() && keyevent.getKeyCode() == KeyEvent.VK_V)) { 
     client.inputString += client.getClipboardContents(); 
     client.inputTaken = true; 
    } 

так, то я подумал, почему бы не сделать это, когда у вас пустой буфер, кнопка отображается серым цветом, и когда она не отображается, появляется другое изображение, поэтому я сделал эту пустоту, где она нарисовала мои кнопки.

private void drawChatTools() { 

//Draws All tools buttons to start with 
Pastebtn.drawAdvancedSprite(440,106); 
Clearbtn.drawAdvancedSprite(458,107); 
Weelbtn.drawAdvancedSprite(476,106); 

}

, но мне было интересно, как бы это сделать, чтобы код java мог видеть, пустой буфер или нет?

ответ

0

так, то я подумал, почему бы не сделать это так, когда буфер пуст кнопка появляется серый

Это обычно заканчивается завинчивания другие функциональные возможности буфера обмена. Вы не должны выполнять какой-либо инвазивный мониторинг буфера обмена только для освещения кнопки или меню. Хорошо видеть, какие форматы доступны, но если вы действительно просматриваете данные, тогда вы действуете, вызывая пасту. Который будет иметь всевозможные непреднамеренные последствия, такие как запуск механизма Delayed Rendering и, возможно, создание сетевого трафика (в случае удаленного рабочего стола или приложений с синхронизированным рабочим столом/буфером обмена).

Буфер обмена Злоупотребление - это путь к темной стороне. Злоупотребление буфером обмена приводит к гневу. Гнев ведет к ненависти. Ненависть ведет к страданиям.

Смежные вопросы