上接<java记事本程序(二)>,记得回复哦!!嘿嘿
//下面两个方法实现剪切版与此程序的数据交换
protected static String getClipboardText(Clipboard clip) throws Exception
{
// 获取剪切板中的内容
Transferable clipT = clip.getContents(null);
if (clipT != null)
{
// 检查内容是否是文本类型
if (clipT.isDataFlavorSupported(DataFlavor.stringFlavor))
{
return (String)clipT.getTransferData(DataFlavor.stringFlavor);
}
}
return null;
}
protected static void setClipboardText(Clipboard clip, String writeMe)
{
Transferable tText = new StringSelection(writeMe);
clip.setContents(tText, null);
}
//实现键盘事件
public void keyTyped(KeyEvent key)
{
}
public void keyPressed(KeyEvent key)
{
//int row=1,colum=1;
if(key.getKeyCode()==KeyEvent.VK_ENTER) //如果回车则行值加1
{
row++;
colum=1;
//lab_statusBar2.setText("字节数: "+(text.getText().length()-1)+"个");
}
else
{
colum++;
//lab_statusBar2.setText("行 "+row+" 列 "+colum+" 字节数: "+text.getText().length());
}
}
public void keyReleased(KeyEvent key)
{
}
//下面为鼠标事件,主要是鼠标在菜单上的动作事件
public void mouseClicked(MouseEvent mouse)
{
}
public void mousePressed(MouseEvent mouse)
{
if(mouse.getSource()==text && mouse.getButton()==MouseEvent.BUTTON3 )
{
PopuMenu popu=new PopuMenu();
popu.show((Component)text, mouse.getX(), mouse.getY());
}
}
public void mouseReleased(MouseEvent mouse)
{
}
public void mouseEntered(MouseEvent mouse)
{
//以下为鼠标移到下列组件上进产生的事件
if(mouse.getSource()==menu1)
{
menu1.setBorder(BorderFactory.createLineBorder(Color.blue));
}
else if(mouse.getSource()==menu2)
{
menu2.setBorder(BorderFactory.createLineBorder(Color.blue));
}
else if(mouse.getSource()==menu3)
{
menu3.setBorder(BorderFactory.createLineBorder(Color.blue));
}
else if(mouse.getSource()==menu4)
{
menu4.setBorder(BorderFactory.createLineBorder(Color.blue));
}
else if(mouse.getSource()==menu5)
{
menu5.setBorder(BorderFactory.createLineBorder(Color.blue));
}
}
public void mouseExited(MouseEvent mouse)
{
//鼠标移出组件时恢复先前设置
menu1.setBorder(BorderFactory.createLineBorder(Color.white));
menu2.setBorder(BorderFactory.createLineBorder(Color.white));
menu3.setBorder(BorderFactory.createLineBorder(Color.white));
menu4.setBorder(BorderFactory.createLineBorder(Color.white));
menu5.setBorder(BorderFactory.createLineBorder(Color.white));
}
//下面是主方法
public static void main(String [] args)
{
new NotePad3();
new AboutNote();
}
//程序中的公有变量如下:
private static int row=1,colum=1;
private static int r=255,g=255,b=0;
private static