⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clipboradstringtest.java

📁 java相关的j2me,j2se的一些相关资料
💻 JAVA
字号:
package javaapplication6;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.SystemColor;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.dnd.DropTarget;
import java.awt.dnd.DropTargetDragEvent;
import java.awt.dnd.DropTargetDropEvent;
import java.awt.dnd.DropTargetEvent;
import java.awt.dnd.DropTargetListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.TransferHandler;
import javax.swing.UIManager;

import java.awt.datatransfer.Clipboard;
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;
import javax.swing.plaf.ScrollPaneUI;

public class ClipboradStringTest implements MouseListener,FocusListener,DropTargetListener {  
    JTextArea textField=new JTextArea("我的测试");
    JButton copy=new JButton("复制");
    JButton paster =new JButton("粘贴");
    JTabbedPane  tp = new JTabbedPane(JTabbedPane.TOP);
    JPanel p = new JPanel();  
    String str[]={"1","2"};
           String str1[]={"1","2","3","4","5","6","7","8","9","10","11","12"};  
       JList l = new JList(str1); 
       JScrollPane sp1 = new JScrollPane(l);
       
    JComboBox list = new JComboBox(str);
    
    public void doApp(){
        
       
        
        
       JFrame frame = new JFrame("剪贴板");        
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setVisible(true);
       frame.setLayout(null);
       frame.setBounds(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
      // frame.setBounds(50,50,500,500);
tp.setDropTarget(new DropTarget(tp,this));
       ImageIcon ic = new ImageIcon("a35.gif");
       Border b =BorderFactory.createCompoundBorder();//createEtchedBorder(EtchedBorder.LOWERED,Color.BLUE,Color.YELLOW);
      
       textField.setVisible(true);
       textField.setSelectedTextColor(Color.YELLOW);

       JScrollPane sp =new JScrollPane(textField);
       sp.getHorizontalScrollBar().setBackground(Color.BLUE);
       sp.getVerticalScrollBar().setBackground(Color.GREEN);
       //sp.getHorizontalScrollBar().setBorder(b);
       //sp.getVerticalScrollBar().setBorder(b);
       sp.setVisible(true);
       //sp.setBounds(10,10,200,200);
       
       JPanel textPanel = new JPanel();
       textPanel.setLayout(new BorderLayout());
       textPanel.setBounds(0,0,200,200);
       textPanel.add(sp,BorderLayout.CENTER);
       textPanel.setBorder(BorderFactory.createTitledBorder("Drop target for filenames"));
       
       copy.setVisible(true);
       copy.addMouseListener(this);
       copy.setBackground(Color.BLUE);
       //copy.setBorder(b);
       copy.setBounds(10,210,60,20);
       
       paster.setBounds(70,210,60,20);
       paster.addMouseListener(this);
       paster.setVisible(true);

       JTextField textField1 = new JTextField("我时时");
       textField1.setVisible(true);
       textField1.setBounds(210,20,120,20);
       
       list.setBounds(210,60,120,20);
       
       JProgressBar  bar = new JProgressBar();
       bar.setValue(20);
       bar.setBounds(210,90,120,20);
       bar.setVisible(true);
       bar.setTransferHandler(new TransferHandler("foreground"));
       
       tp.setBounds(300,100,600,600);
       tp.setVisible(true);
       tp.setBackground(Color.DARK_GRAY);
       
       JTextArea area = new JTextArea();
       area.setVisible(true);
       area.setTabSize(20);
       area.setText("aaa");
       tp.addTab("一    x",area);
       area  = new JTextArea();
       area .setTabSize(30);
       area.setText("bbb");
       tp.addTab("二",area);
       area  = new JTextArea();
       JPanel jp = new JPanel();
       jp.setVisible(true);
       jp.setBounds(0,0,180,20);
       area.add(jp);
       area .setTabSize(30);
       area.setText("ccc");
       tp.addTab("三",area);
       area  = new JTextArea();
       area .setTabSize(30);
       area.setText("ddd");;
       tp.addTab("四",area);
       tp.setTransferHandler(new TestTransferHandler()); 

       //l.setBounds(0,0,200,200);
       l.setVisible(true);     
      
       //sp1.setBounds(0,0,200,100);
       sp1.setVisible(true);       
      
       p.setLayout(new BorderLayout());        
       p.setBounds(100,100,200,200);
       //p.addMouseListener(this);       
       p.setVisible(true);
       p.add(sp1,BorderLayout.CENTER);
       p.setOpaque(false);
       p.setName("wode  hfeuhirhuadf");
System.out.println(p.getName());
       
       //tp.addFocusListener(this);
       tp.addTab("list",p);
       tp.setSelectedIndex(4);
       //tp.addMouseListener(this);
       tp.addTab("TestJPanel",new TestJPanel());
       
       
      // frame.add(p);
       frame.add(tp);
       //frame.add(bar);
       frame.add(list);
       frame.add(textField1);
       frame.add(textPanel);
       frame.add(copy);
       frame.add(paster);
    }
    
    public static void main(String args[]){    	
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e1) {
            e1.printStackTrace();
        } 
         new ClipboradStringTest().doApp();
    }
    
    public void mouseClicked(MouseEvent e) {
System.out.println(tp.getSelectedIndex());
((JTextArea)tp.getSelectedComponent()).setText("我的测试");
       Clipboard copyOrcut = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();
       JButton c  = (JButton)e.getComponent();   
System.out.println("TestJPanel="+((TestJPanel)e.getComponent()).textArea.getText());
       if(c==copy){System.out.println("copy copy copycopycopycopycopycopycopy");}
       
       JButton cc = (JButton)e.getSource();
       if(c==copy){System.out.println("yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyu");}
       
       String str = textField.getSelectedText();
       int start = textField.getSelectionStart();
       int end   = textField.getSelectionEnd();
System.out.println(str+" "+start+" "+end);
       if(c==copy){
          textField.select(start,end);
          textField.setSelectionColor(textField.getSelectionColor());
          textField.transferFocus();
          //StringSelection tText=new StringSelection(str);
         // copyOrcut.setContents(tText,null);
       }else{
          Transferable clipData = copyOrcut.getContents(copyOrcut);
          if(clipData!=null){
 if(clipData.isDataFlavorSupported(DataFlavor.imageFlavor)){
                        try {
System.out.println(1);
                            Image image = (Image) clipData.getTransferData(DataFlavor.imageFlavor);
System.out.println(2);                          
                            copy.setIcon(new ImageIcon(image));
System.out.println(3);
                        } catch (IOException ex) {
                            ex.printStackTrace();
                        } catch (UnsupportedFlavorException ex) {
                            ex.printStackTrace();
                        }
                  
              }            else  if(clipData.isDataFlavorSupported(DataFlavor.stringFlavor)){                    
                    try {
                        String s= (String) clipData.getTransferData(DataFlavor.stringFlavor);
                        textField.replaceSelection(s);
                    } catch (IOException ex) {
                    } catch (UnsupportedFlavorException ex) {
                    }
              }else{
                  Toolkit.getDefaultToolkit().beep();
              }
          }
       }
System.out.println("ssssssssssssssssssssssss");
    p.setVisible(false);
System.out.println("ssssssssssssssssssssssss");
    }

    public void mousePressed(MouseEvent e) {
    }
    public void mouseReleased(MouseEvent e) {
    }
    public void mouseEntered(MouseEvent e) {
    }
    public void mouseExited(MouseEvent e) {
    }

    public void focusGained(FocusEvent e) {

    }

    public void focusLost(FocusEvent e) {
        
    }

    
    public void dragEnter(DropTargetDragEvent dtde) {
        dtde.rejectDrag();
    }

    public void dragOver(DropTargetDragEvent dtde) {
        dtde.rejectDrag();
    }

    public void dropActionChanged(DropTargetDragEvent dtde) {
        dtde.rejectDrag();
    }

    public void dragExit(DropTargetEvent dte) {
        dte.getDropTargetContext().dropComplete(true);
    }

    public void drop(DropTargetDropEvent dtde) {

    }
    
    
    
    public class  TestJPanel extends JPanel{
        JPanel panel = new JPanel();
        JTextArea textArea = new JTextArea();
        JPanel list = new JPanel();
        JButton button = new JButton("hdufshfid");
        public TestJPanel(){
            button.setBounds(0,0,120,20);
            button.setVisible(true);
            //button.setOpaque(false);
            this.setLayout(new BorderLayout());
            list.setVisible(true);
            panel.setVisible(true);
            //panel.setLayout(null);
            panel.add(button);
            textArea.setVisible(true);
            
            this.add(list,BorderLayout.WEST);
            this.add(new JScrollPane(textArea),BorderLayout.CENTER);
            this.add(panel,BorderLayout.NORTH);
            this.setVisible(true);
            this.setOpaque(false);
            setBounds(0,0,300,300);
            setBackground(Color.BLACK);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -