//在NotepadListener找不到变量ta怎么弄让他找到
//写个记事本,先弄个用户界面,再写监听import java.awt.*;
import java.awt.event.*;public class Notepad extends Frame{ MenuBar mb=new MenuBar();
TextArea ta=new TextArea();
Menu m1=new Menu("文件");
Menu m2=new Menu("编辑");
Menu m3=new Menu("格式");
Menu m4=new Menu("查看");
Menu m5=new Menu("帮助"); MenuItem mi11=new MenuItem("新建");
MenuItem mi12=new MenuItem("打开");
MenuItem mi13=new MenuItem("保存");
MenuItem mi14=new MenuItem("另存为"); MenuItem mi21=new MenuItem("全选");
MenuItem mi22=new MenuItem("复制");
MenuItem mi23=new MenuItem("粘帖"); MenuItem mi31=new MenuItem("自动换行");
MenuItem mi32=new MenuItem("字体");
MenuItem mi33=new MenuItem("背景色"); //MenuItem mi41=new MenuItem("");
//MenuItem mi42=new MenuItem("");
//MenuItem mi43=new MenuItem(""); MenuItem mi51=new MenuItem("帮助主题");
MenuItem mi52=new MenuItem("关于记事本");
//MenuItem mi53=new MenuItem(""); public Notepad(){
this.setMenuBar(mb);
this.add(ta);
mb.add(m1);
mb.add(m2);
mb.add(m3);
mb.add(m4);
mb.add(m5);
m1.add(mi11);
m1.add(mi12);
m1.add(mi13);
m1.add(mi14);
m2.add(mi21);
m2.add(mi22);
m2.add(mi23); m3.add(mi31);
m3.add(mi32);
m3.add(mi33); m5.add(mi51);
m5.add(mi52);
this.addListeners();
}
public static void main(String[] args){
Notepad nt=new Notepad();
nt.setTitle("雪天使");
nt.setSize(500,500);
nt.setVisible(true);
} void addListeners(){
NotepadListener nl=new NotepadListener(); this.addWindowListener(nl); mi11.addActionListener(nl);
mi12.addActionListener(nl);
mi13.addActionListener(nl);
mi14.addActionListener(nl); mi21.addActionListener(nl);
mi22.addActionListener(nl);
mi23.addActionListener(nl); mi31.addActionListener(nl);
mi32.addActionListener(nl);
mi33.addActionListener(nl); mi51.addActionListener(nl);
mi52.addActionListener(nl);
}
}
//监听class
class NotepadListener implements ActionListener,WindowListener{
public void actionPerformed(ActionEvent e){
String select=e.getActionCommand();
if(select=="新建"){
ta.setText("");//就这个,运行是说找不到变量ta
}else if(select=="打开"){ }else if(select=="保存"){ }else if(select=="另存为"){ }else if(select=="全选"){ }else if(select=="复制"){ }else if(select=="粘帖"){ }else if(select=="自动换行"){ }else if(select=="字体"){ }else if(select=="背景色"){
//setBackground(blue);
}else if(select=="帮助主题"){ }else if(select=="关于记事本"){
}else{ }
} public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e){
}
public void windowClosing(WindowEvent e){
System.exit(0);
}
public void windowDeactivated(WindowEvent e){
}
public void windowDeiconified(WindowEvent e){
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) { }}
//写个记事本,先弄个用户界面,再写监听import java.awt.*;
import java.awt.event.*;public class Notepad extends Frame{ MenuBar mb=new MenuBar();
TextArea ta=new TextArea();
Menu m1=new Menu("文件");
Menu m2=new Menu("编辑");
Menu m3=new Menu("格式");
Menu m4=new Menu("查看");
Menu m5=new Menu("帮助"); MenuItem mi11=new MenuItem("新建");
MenuItem mi12=new MenuItem("打开");
MenuItem mi13=new MenuItem("保存");
MenuItem mi14=new MenuItem("另存为"); MenuItem mi21=new MenuItem("全选");
MenuItem mi22=new MenuItem("复制");
MenuItem mi23=new MenuItem("粘帖"); MenuItem mi31=new MenuItem("自动换行");
MenuItem mi32=new MenuItem("字体");
MenuItem mi33=new MenuItem("背景色"); //MenuItem mi41=new MenuItem("");
//MenuItem mi42=new MenuItem("");
//MenuItem mi43=new MenuItem(""); MenuItem mi51=new MenuItem("帮助主题");
MenuItem mi52=new MenuItem("关于记事本");
//MenuItem mi53=new MenuItem(""); public Notepad(){
this.setMenuBar(mb);
this.add(ta);
mb.add(m1);
mb.add(m2);
mb.add(m3);
mb.add(m4);
mb.add(m5);
m1.add(mi11);
m1.add(mi12);
m1.add(mi13);
m1.add(mi14);
m2.add(mi21);
m2.add(mi22);
m2.add(mi23); m3.add(mi31);
m3.add(mi32);
m3.add(mi33); m5.add(mi51);
m5.add(mi52);
this.addListeners();
}
public static void main(String[] args){
Notepad nt=new Notepad();
nt.setTitle("雪天使");
nt.setSize(500,500);
nt.setVisible(true);
} void addListeners(){
NotepadListener nl=new NotepadListener(); this.addWindowListener(nl); mi11.addActionListener(nl);
mi12.addActionListener(nl);
mi13.addActionListener(nl);
mi14.addActionListener(nl); mi21.addActionListener(nl);
mi22.addActionListener(nl);
mi23.addActionListener(nl); mi31.addActionListener(nl);
mi32.addActionListener(nl);
mi33.addActionListener(nl); mi51.addActionListener(nl);
mi52.addActionListener(nl);
}
}
//监听class
class NotepadListener implements ActionListener,WindowListener{
public void actionPerformed(ActionEvent e){
String select=e.getActionCommand();
if(select=="新建"){
ta.setText("");//就这个,运行是说找不到变量ta
}else if(select=="打开"){ }else if(select=="保存"){ }else if(select=="另存为"){ }else if(select=="全选"){ }else if(select=="复制"){ }else if(select=="粘帖"){ }else if(select=="自动换行"){ }else if(select=="字体"){ }else if(select=="背景色"){
//setBackground(blue);
}else if(select=="帮助主题"){ }else if(select=="关于记事本"){
}else{ }
} public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e){
}
public void windowClosing(WindowEvent e){
System.exit(0);
}
public void windowDeactivated(WindowEvent e){
}
public void windowDeiconified(WindowEvent e){
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) { }}
import java.awt.*;
import java.awt.event.*; @SuppressWarnings("serial")
public class Notepad extends Frame{ MenuBar mb=new MenuBar();
TextArea ta=new TextArea(); Menu m1=new Menu("文件");
Menu m2=new Menu("编辑");
Menu m3=new Menu("格式");
Menu m4=new Menu("查看");
Menu m5=new Menu("帮助"); MenuItem mi11=new MenuItem("新建");
MenuItem mi12=new MenuItem("打开");
MenuItem mi13=new MenuItem("保存");
MenuItem mi14=new MenuItem("另存为"); MenuItem mi21=new MenuItem("全选");
MenuItem mi22=new MenuItem("复制");
MenuItem mi23=new MenuItem("粘帖"); MenuItem mi31=new MenuItem("自动换行");
MenuItem mi32=new MenuItem("字体");
MenuItem mi33=new MenuItem("背景色");// MenuItem mi41=new MenuItem("");
// MenuItem mi42=new MenuItem("");
// MenuItem mi43=new MenuItem(""); MenuItem mi51=new MenuItem("帮助主题");
MenuItem mi52=new MenuItem("关于记事本");
// MenuItem mi53=new MenuItem(""); public Notepad(){
this.setMenuBar(mb);
this.add(ta);
mb.add(m1);
mb.add(m2);
mb.add(m3);
mb.add(m4);
mb.add(m5); m1.add(mi11);
m1.add(mi12);
m1.add(mi13);
m1.add(mi14); m2.add(mi21);
m2.add(mi22);
m2.add(mi23); m3.add(mi31);
m3.add(mi32);
m3.add(mi33); m5.add(mi51);
m5.add(mi52); this.addListeners(); } public static void main(String[] args){ Notepad nt=new Notepad();
nt.setTitle("雪天使");
nt.setSize(500,500);
nt.setVisible(true);
} void addListeners(){
NotepadListener nl=new NotepadListener(); this.addWindowListener(nl); mi11.addActionListener(nl);
mi12.addActionListener(nl);
mi13.addActionListener(nl);
mi14.addActionListener(nl); mi21.addActionListener(nl);
mi22.addActionListener(nl);
mi23.addActionListener(nl); mi31.addActionListener(nl);
mi32.addActionListener(nl);
mi33.addActionListener(nl); mi51.addActionListener(nl);
mi52.addActionListener(nl);
}
class NotepadListener implements ActionListener,WindowListener{
public void actionPerformed(ActionEvent e){
String select=e.getActionCommand();
if(select=="新建"){
ta.setText("");// 就这个,运行是说找不到变量ta
}else if(select=="打开"){ }else if(select=="保存"){ }else if(select=="另存为"){ }else if(select=="全选"){ }else if(select=="复制"){ }else if(select=="粘帖"){ }else if(select=="自动换行"){ }else if(select=="字体"){ }else if(select=="背景色"){
// setBackground(blue);
}else if(select=="帮助主题"){ }else if(select=="关于记事本"){ }else{ } } public void windowActivated(WindowEvent e) { }
public void windowClosed(WindowEvent e){ }
public void windowClosing(WindowEvent e){
System.exit(0);
}
public void windowDeactivated(WindowEvent e){ }
public void windowDeiconified(WindowEvent e){ }
public void windowIconified(WindowEvent e) { }
public void windowOpened(WindowEvent e) { } }
}
写成内部类就好了..外部的话/ 不是一个类看不到哦..好了..可以给分了/哈哈//
但是这样会显得有些乱
可以传参数进去,比如
public class Notepad extends Frame 这个类里面加一个方法:
void setTextString(String str)
{
ta.setText("");
}class NotepadListener implements ActionListener,WindowListener{
这个类多一个构造方法NotepadListener(Notepad frame)
当然,这样这个类就多了个字段了,这样你应该会操作了吧