1. 程式人生 > 其它 >關於TC中的複製貼上問題

關於TC中的複製貼上問題

如果直接用原生系統的複製貼上,因為在TC,如果你選中ITEM或其他東西,剪貼簿就會發生變化。

所以要重寫鍵盤事件,來重新設定剪貼簿

nameTJTextField.addKeyListener(new KeyListener(){

					@Override
					public void keyPressed(KeyEvent e) {}

					@Override
					public void keyReleased(KeyEvent e) {
						
						 System.out.println("keycode"+e.getKeyCode());
						if(e.getKeyCode()==KeyEvent.VK_CONTROL&&e.getKeyCode() == KeyEvent.VK_C ||e.isControlDown()&&e.getKeyCode() == KeyEvent.VK_C|| (!e.isControlDown())&&e.getKeyCode() == KeyEvent.VK_C)
						  {
								System.out.println("複製事件");
								Clipboard clipboard =  Toolkit.getDefaultToolkit().getSystemClipboard(); //獲得系統貼上板   
								String selectStr="";
								if(nameTJTextField instanceof JTextField){
									selectStr=((JTextField)nameTJTextField).getSelectedText();
								}
								System.out.println("複製文字:" + selectStr);
								StringSelection textInfoSelected = new StringSelection(selectStr); //建立一個貼上板內容例項.   
								clipboard.setContents(textInfoSelected, null); //將textInfoSelected加入到貼上板中; 
								AIFClipboard aifclipboard = AIFPortal.getClipboard();
								aifclipboard.clearClipboard();
								
						  }
					}

					@Override
					public void keyTyped(KeyEvent arg0) {
						System.out.println("33333");
					}

					
				});