實現鼠標粘貼複製文字Java的小程序

花哥哥的瞎說:

主要是去理解鼠標鼠標事件,理解java的GUI界面更深入的瞭解。

瞎鬧

package JDemo;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class MouseApplcation {
	public static void main(String[] args) {
		new MouseApplcation().new MouseText();//內部類的實例規則
	}
	class MouseText extends JFrame implements ActionListener{
		public JPopupMenu menu;
		JMenuItem copyitem,cutitem,pasteitem;
		JTextArea text;
		MouseText(){
			menu=new JPopupMenu();//建立一個彈出式菜單
			copyitem=new JMenuItem("複製");//菜單內的子項
			cutitem=new JMenuItem("剪輯");
			pasteitem=new JMenuItem("粘貼");
			menu.add(copyitem);
			menu.add(cutitem);
			menu.add(pasteitem);
			text=new JTextArea(10,30);
			text.addMouseListener(new MouseAdapter() {public void mousePressed(MouseEvent e) {//鼠標的的監聽由匿名類完成
				if(e.getModifiers()==InputEvent.BUTTON3_MASK) {//InputEvent.button3_mask爲該事件點擊鼠標右鍵
					menu.show(text, e.getX(), e.getY());//該菜單的彈出位置
				}}});
			this.add(new JScrollPane(text),BorderLayout.CENTER);
			copyitem.addActionListener(this);//給菜單項添加監聽
			cutitem.addActionListener(this);
			pasteitem.addActionListener(this);
			this.pack();
			this.setVisible(true);
			this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
				
		}
		
		public void actionPerformed(ActionEvent e) {//實例化方法
			if(e.getSource()==copyitem) {
				text.copy();
			}
			else if(e.getSource()==cutitem) {
				text.cut();
				
			}
			else if(e.getSource()==pasteitem) {
				text.paste();
			}
			
		}
		
		
	}
	

}

界面展示:

話癆:

你是人間琳琅,我好想你。

花哥哥嚴肅說:

所學的知識均從課本,課外讀物,網上收集資料,如果哪有侵權惹到您不開心丫,此外還有我也是小白,如果哪有認識不對的地方還請您抽我一耳光說我哪錯了,我一定會感謝,聯繫企鵝號:184820911,有哪不明白或沒事都可以找我,陪聊,陪吃不陪睡。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章