import java.awt.*;
import java.applet.*;
import java.awt.event.*;
/*
<applet code="SimpelFrame" width=350 height=150>
</applet>
*/
class MenuFrame extends Frame
{
TextArea t;
public MenuFrame(String title )
{
super (title);
MenuBar mbar=new MenuBar ();//第一步
setMenuBar(mbar);
Menu File1=new Menu("file");
MenuItem item1, item2,item3,item4;
File1.add(item1=new MenuItem ("New"));
File1.add(item2=new MenuItem ("Open"));
File1.add(item3=new MenuItem ("Save"));
File1.add(item4=new MenuItem ("Quit"));
mbar.add(File1);
Menu Edit=new Menu("edit");
MenuItem item5, item6,item7;
Edit.add(item5=new MenuItem ("delete"));
Edit.add(item6=new MenuItem ("copy"));
Edit.add(item5=new MenuItem ("cut"));
mbar.add(Edit);
Menu sub=new Menu("sub");//向菜单中添加嵌套
MenuItem item8 ,item9;
sub.add(item8=new MenuItem ("first"));
sub.add(item9=new MenuItem ("second"));
Edit.add(sub);
String s="是的发啊是的发是是的发是发是的";
t=new TextArea (s,10,30);
add(t);
//完成框架的构架
//为按钮添加注册
MyMenuHandler al=new MyMenuHandler();
Mywindowclosed bl=new Mywindowclosed();
item2.addActionListener(al);//OPEN
item3.addActionListener(al);//SAVE
item4.addActionListener(bl);//QUIT
t.addActionListener(new MyTextHandler());
item6.addActionListener(new Editor());
}//构造函数结束
//构架“文件”菜单的处理:SAVE,OPEN选项class MyMenuHandler implements ActionListener
{
String msg;
FileDialog f;
MenuFrame mn;
public void actionPerformed(ActionEvent ae)
{
mn=new MenuFrame("x");
msg=ae.getActionCommand();
if(msg.equals("Open"))
{
f=new FileDialog (mn,"file dialog",FileDialog.LOAD);
f.setSize(200,200);
f.setVisible(true);
}
else
{
f=new FileDialog (mn,"file dialog",FileDialog.SAVE);
f.setSize(200,200);
f.setVisible(true);
}
}
}
//进行文本的处理
class MyTextHandler implements ActionListener
{
String s;
public void processActionEvent(ActionEvent ae)
{
s=t.getSelectedText();
}
}
//进行编辑按钮的处理
class Editor extends MyTextHandler implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
String msg;
msg=ae.getActionCommand();
if(msg.equals("copy"))
{
t.append(s);
}
}
}
//进行 "退出"选项的设置
class Mywindowclosed implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
setVisible(false);
}
}
class Subwin extends WindowAdapter
{
public Subwin() {}
public void windowCloseing(WindowEvent we)
{
MenuFrame x=new MenuFrame("c");
x.dispose();
}
}//“退出”设置完毕
} public class SimpelFrame extends Applet
{
Frame f;
public void init()
{
f=new MenuFrame("Hello Menu");
f.setSize(200,200);
f.setVisible(true);
}
}
问题处于这一行:t.addActionListener(new MyTextHandler());
TEXTAREA可否使用ActionListener接口
import java.applet.*;
import java.awt.event.*;
/*
<applet code="SimpelFrame" width=350 height=150>
</applet>
*/
class MenuFrame extends Frame
{
TextArea t;
public MenuFrame(String title )
{
super (title);
MenuBar mbar=new MenuBar ();//第一步
setMenuBar(mbar);
Menu File1=new Menu("file");
MenuItem item1, item2,item3,item4;
File1.add(item1=new MenuItem ("New"));
File1.add(item2=new MenuItem ("Open"));
File1.add(item3=new MenuItem ("Save"));
File1.add(item4=new MenuItem ("Quit"));
mbar.add(File1);
Menu Edit=new Menu("edit");
MenuItem item5, item6,item7;
Edit.add(item5=new MenuItem ("delete"));
Edit.add(item6=new MenuItem ("copy"));
Edit.add(item5=new MenuItem ("cut"));
mbar.add(Edit);
Menu sub=new Menu("sub");//向菜单中添加嵌套
MenuItem item8 ,item9;
sub.add(item8=new MenuItem ("first"));
sub.add(item9=new MenuItem ("second"));
Edit.add(sub);
String s="是的发啊是的发是是的发是发是的";
t=new TextArea (s,10,30);
add(t);
//完成框架的构架
//为按钮添加注册
MyMenuHandler al=new MyMenuHandler();
Mywindowclosed bl=new Mywindowclosed();
item2.addActionListener(al);//OPEN
item3.addActionListener(al);//SAVE
item4.addActionListener(bl);//QUIT
t.addActionListener(new MyTextHandler());
item6.addActionListener(new Editor());
}//构造函数结束
//构架“文件”菜单的处理:SAVE,OPEN选项class MyMenuHandler implements ActionListener
{
String msg;
FileDialog f;
MenuFrame mn;
public void actionPerformed(ActionEvent ae)
{
mn=new MenuFrame("x");
msg=ae.getActionCommand();
if(msg.equals("Open"))
{
f=new FileDialog (mn,"file dialog",FileDialog.LOAD);
f.setSize(200,200);
f.setVisible(true);
}
else
{
f=new FileDialog (mn,"file dialog",FileDialog.SAVE);
f.setSize(200,200);
f.setVisible(true);
}
}
}
//进行文本的处理
class MyTextHandler implements ActionListener
{
String s;
public void processActionEvent(ActionEvent ae)
{
s=t.getSelectedText();
}
}
//进行编辑按钮的处理
class Editor extends MyTextHandler implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
String msg;
msg=ae.getActionCommand();
if(msg.equals("copy"))
{
t.append(s);
}
}
}
//进行 "退出"选项的设置
class Mywindowclosed implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
setVisible(false);
}
}
class Subwin extends WindowAdapter
{
public Subwin() {}
public void windowCloseing(WindowEvent we)
{
MenuFrame x=new MenuFrame("c");
x.dispose();
}
}//“退出”设置完毕
} public class SimpelFrame extends Applet
{
Frame f;
public void init()
{
f=new MenuFrame("Hello Menu");
f.setSize(200,200);
f.setVisible(true);
}
}
问题处于这一行:t.addActionListener(new MyTextHandler());
TEXTAREA可否使用ActionListener接口
您的TEXTAREA做事件监听处理,是想监听TEXTAREA的文本属性的改变还是别的什么?
建议使用其他的监听!
我查过API但没查出来
书的详细一点吧,嘿嘿
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
StringSelection selection = new StringSelection(textArea.getSelectedText());
clipboard.setContents(selection, null);顺便建议楼主使用Swing, AWT的界面组件已经属于遗留类了, 当然事件监听仍然是使用AWT的核心...
剪贴板支持在 java.awt.datatransfer 包