package src.temp; 
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.net.*;import javax.imageio.ImageReader;
import javax.imageio.ImageWriter;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextPane;
import javax.swing.JToolBar;
import javax.swing.ScrollPaneConstants;
import javax.swing.filechooser.FileNameExtensionFilter;
class NotepadFrame extends JFrame  {

private Color color=Color.black;
    private static File file=null;
    private JFrame f;
    private static JTextArea text=new JTextArea(0,16);//JTextArea显示纯文本的多行区域
private JLabel font,size;
private JButton yes,exit;
JPanel p1=new JPanel(new GridLayout(1,4)),
       p2=new JPanel(),
           p3=new JPanel();
private JPanel c=new JPanel(new BorderLayout());
yes=new JButton("确定");
exit=new JButton("退出");
public static JLabel show=new JLabel("永远的java");
f=new JFrame("字体选择");
font=new JLabel("字体");
size=new JLabel("字号");

JComboBox  cfont=new JComboBox();
JComboBox csize=new JComboBox();
public static String s2="宋体";
public static String[] sz1={"10","16","24","30","32","36"},
        sz2={"宋体","黑体","幼圆","隶书","楷体_GB2312"};
private JFrame frame = new JFrame();
public static int style=Font.PLAIN, Size=15;//普通字体 NotepadFrame()
{
super("simple word!");
JScrollPane w=new JScrollPane(text,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
c.add(w,BorderLayout.CENTER);
getContentPane().add(c);
this.setSize(800,600);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
initTextPane();
initMenu();
initAboutDialog();
//initToolBar();
}
private void initAboutDialog() {
about.getContentPane().add(new JLabel("simple editorV1.0"));
about.setModal(true);
about.setSize(100,50);
}

void initTextPane(){  ///将文本框放入有滚动对象,并加入到Frame中
getContentPane().add(new JScrollPane(text));
}


JFileChooser filechooser=new JFileChooser();
JColorChooser colorchooser=new JColorChooser();
JDialog about=new JDialog(this);
JMenuBar menubar=new JMenuBar();
Graphics pictures;


private JMenu[] menus=new JMenu[]{
new JMenu("文件"),
new JMenu("编辑"),
new JMenu("帮助"),
new JMenu("插入"),
new JMenu("格式"),
new JMenu("工具"),
new JMenu("表格"),
}; JMenuItem menuitems[][]=new JMenuItem[][]{{
new JMenuItem("New"),
new JMenuItem("Open..."),
new JMenuItem("Save..."),
new JMenuItem("Exit")},{
new JMenuItem("Copy"),
new JMenuItem("Cut"),
new JMenuItem("Paste"),
new JMenuItem("Replace"),
new JMenuItem("Color...")},{
new JMenuItem("About")},{
new JMenuItem("Picture"),
new JMenuItem("File")},{
new JMenuItem("字体")},{
new JMenuItem("颜色设置")},{
new JMenu("插入"),
new JMenuItem("绘制表格")
}
};

void initMenu(){
 text.setLineWrap(true);//换行
JMenuItem branch=new JMenuItem("表格");
menuitems[6][0].add(branch);


for(int i=0;i<menus.length;i++){
menubar.add(menus[i]);
for(int j=0;j<menuitems[i].length;j++){
menus[i].add(menuitems[i][j]);
menuitems[i][j].addActionListener(action);
}

}
for(int i=0;i<sz2.length;i++)
           cfont.addItem(sz2[i]);
        for(int i=0;i<sz1.length;i++)
           csize.addItem(sz1[i]); this.setJMenuBar(menubar);
 this.setBounds(400, 300, 300, 400);
} ActionListener action=new ActionListener( ){//菜单事件处理
public void actionPerformed(ActionEvent e){
JMenuItem mi=(JMenuItem)e.getSource();
String id=mi.getText();
if(id.equals("New")){
text.setText("");
file =null;
}else if(id.equals("Open...")){
if(file!=null)filechooser.setSelectedFile(file);
int returnVal=filechooser.showOpenDialog(NotepadFrame.this);
if(returnVal==JFileChooser.APPROVE_OPTION){
file=filechooser.getSelectedFile();
openFile();
}
}else if(id.equals("Save...")){
if(file!=null)filechooser.setSelectedFile(file);
int returnVal=filechooser.showSaveDialog(NotepadFrame.this);
if(returnVal==JFileChooser.APPROVE_OPTION){
file=filechooser.getSelectedFile();
saveFile();
}
}else if(id.equals("Exit")){
System.exit(0);
}else if(id.equals("Cut")){
text.cut();
}else if(id.equals("Copy")){
text.copy();
}else if(id.equals("Paste")){
text.paste();
}else if(id.equals("Replace")){
text.replaceSelection(new String(""));//替换
}else if(id.equals("Color...")){
color=JColorChooser.showDialog(NotepadFrame.this, "", color);
text.setForeground(color);
}else if(id.equals("About")){
about.setSize(100,50);
about.show();
}else if(id.equals("Picture")){////////////////////////////////////
FileNameExtensionFilter filter = new FileNameExtensionFilter(
        "JPG & GIF Images", "jpg", "gif");
                    filechooser.setFileFilter(filter); int result= filechooser.showOpenDialog(NotepadFrame.this);//图像如何获得URL
 if(result == JFileChooser.APPROVE_OPTION){
     String name = filechooser.getSelectedFile().getPath();
     ImageIcon image = new ImageIcon(name);
     
    // setSize(image.getIconWidth()+50, image.getIconHeight()+50);
     text.setText("");
     text.setBackground(Color.pink);
     text.insertIcon(image);
 }

}else if(id.equals("file")){
if(file!=null)filechooser.setSelectedFile(file);
int returnVal=filechooser.showOpenDialog(NotepadFrame.this);
if(returnVal==JFileChooser.APPROVE_OPTION){
file=filechooser.getSelectedFile();
openFile();
}else if(id.equals("字体")){
fontType();
}else if(id.equals("颜色设置")){
Color userColor = JColorChooser.showDialog(null, "color", Color.PINK);
text.setForeground(userColor);
}else if(e1.getSource()==yes){//按确定后,字体生效,这里为默认的
            Font font=new Font(s2,style,size);
            TextArea.setFont(font); 
            f.dispose();//用来关闭windows的method,只是让windows消失,
            //但并不是让  整个object释放内   }
else if(e1.getSource()==exit){ 
            f.dispose();
} }
};
public  void fontType(){
cfont.addActionListener(this);
csize.addActionListener(this);
p1.add(font);//p1中加label字体
p1.add(cfont);//p1+下拉列表
p1.add(size);
p1.add(csize);
cfont.addItemListener(new Item());
csize.addItemListener(new Item());
p2.add(yes);
p2.add(exit);
p3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.black), "永远的java", 2, 2));
tp.add(show);
 f.getContentPane().add(typep,"North");
        f.getContentPane().add(tp,"Center");
        f.getContentPane().add(butp,"South");
        f.setTitle("编辑字体");
        f.setBounds(20,20,300,200);
        f.setResizable(false);
        f.setVisible(true);
     }  private void saveFile() { //保存文件,讲字符写入文件
try{
FileWriter fw=new FileWriter(file);
fw.write(text.getText());
fw.close();
}catch(Exception e){e.printStackTrace();}
} /*private void openFile() { //打开文件,并将字符置于文本框中
try{
FileReader fr=new FileReader(file);
int len=(int)file.length();
char[]buffer=new char[len];
fr.close();
text.setText(new String(buffer));
}catch(Exception e){e.printStackTrace();}
}*/
 
   
   };
}
以上是有问题的类的代码。

解决方案 »

  1.   

    请你把代码重发一下
    发的时候,点“插入代码”(第七个图标),然后把代码插到[code=Java]和[/code]之间。
      

  2.   


    package src.temp; 
    import java.awt.BorderLayout; 
    import java.awt.Color; 
    import java.awt.Component; 
    import java.awt.Container; 
    import java.awt.Font; 
    import java.awt.Graphics; 
    import java.awt.GridLayout; 
    import java.awt.Image; 
    import java.awt.event.ActionEvent; 
    import java.awt.event.ActionListener; 
    import java.io.File; 
    import java.io.FileReader; 
    import java.io.FileWriter; 
    import java.io.IOException; 
    import java.net.*; import javax.imageio.ImageReader; 
    import javax.imageio.ImageWriter; 
    import javax.swing.ImageIcon; 
    import javax.swing.JButton; 
    import javax.swing.JColorChooser; 
    import javax.swing.JComboBox; 
    import javax.swing.JDialog; 
    import javax.swing.JFileChooser; 
    import javax.swing.JFrame; 
    import javax.swing.JLabel; 
    import javax.swing.JMenu; 
    import javax.swing.JMenuBar; 
    import javax.swing.JMenuItem; 
    import javax.swing.JPanel; 
    import javax.swing.JScrollPane; 
    import javax.swing.JTextArea; 
    import javax.swing.JTextPane; 
    import javax.swing.JToolBar; 
    import javax.swing.ScrollPaneConstants; 
    import javax.swing.filechooser.FileNameExtensionFilter; 
    class NotepadFrame extends JFrame  { private Color color=Color.black; 
        private static File file=null; 
        private JFrame f; 
        private static JTextArea text=new JTextArea(0,16);//JTextArea显示纯文本的多行区域 
    private JLabel font,size; 
    private JButton yes,exit; 
    JPanel p1=new JPanel(new GridLayout(1,4)), 
          p2=new JPanel(), 
              p3=new JPanel(); 
    private JPanel c=new JPanel(new BorderLayout()); 
    yes=new JButton("确定"); 
    exit=new JButton("退出"); 
    public static JLabel show=new JLabel("永远的java"); 
    f=new JFrame("字体选择"); 
    font=new JLabel("字体"); 
    size=new JLabel("字号"); JComboBox  cfont=new JComboBox(); 
    JComboBox csize=new JComboBox(); 
    public static String s2="宋体"; 
    public static String[] sz1={"10","16","24","30","32","36"}, 
            sz2={"宋体","黑体","幼圆","隶书","楷体_GB2312"}; 
    private JFrame frame = new JFrame(); 
    public static int style=Font.PLAIN, Size=15;//普通字体 NotepadFrame() 

    super("simple word!"); 
    JScrollPane w=new JScrollPane(text,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); 
    c.add(w,BorderLayout.CENTER); 
    getContentPane().add(c); 
    this.setSize(800,600); 
    this.setVisible(true); 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    initTextPane(); 
    initMenu(); 
    initAboutDialog(); 
    //initToolBar(); 

    private void initAboutDialog() { 
    about.getContentPane().add(new JLabel("simple editorV1.0")); 
    about.setModal(true); 
    about.setSize(100,50); 
    } void initTextPane(){  ///将文本框放入有滚动对象,并加入到Frame中 
    getContentPane().add(new JScrollPane(text)); 

    JFileChooser filechooser=new JFileChooser(); 
    JColorChooser colorchooser=new JColorChooser(); 
    JDialog about=new JDialog(this); 
    JMenuBar menubar=new JMenuBar(); 
    Graphics pictures; 
    private JMenu[] menus=new JMenu[]{ 
    new JMenu("文件"), 
    new JMenu("编辑"), 
    new JMenu("帮助"), 
    new JMenu("插入"), 
    new JMenu("格式"), 
    new JMenu("工具"), 
    new JMenu("表格"), 
    }; JMenuItem menuitems[][]=new JMenuItem[][]{{ 
    new JMenuItem("New"), 
    new JMenuItem("Open..."), 
    new JMenuItem("Save..."), 
    new JMenuItem("Exit")},{ 
    new JMenuItem("Copy"), 
    new JMenuItem("Cut"), 
    new JMenuItem("Paste"), 
    new JMenuItem("Replace"), 
    new JMenuItem("Color...")},{ 
    new JMenuItem("About")},{ 
    new JMenuItem("Picture"), 
    new JMenuItem("File")},{ 
    new JMenuItem("字体")},{ 
    new JMenuItem("颜色设置")},{ 
    new JMenu("插入"), 
    new JMenuItem("绘制表格") 

    }; void initMenu(){ 
    text.setLineWrap(true);//换行 
    JMenuItem branch=new JMenuItem("表格"); 
    menuitems[6][0].add(branch); 
    for(int i=0;i <menus.length;i++){ 
    menubar.add(menus[i]); 
    for(int j=0;j <menuitems[i].length;j++){ 
    menus[i].add(menuitems[i][j]); 
    menuitems[i][j].addActionListener(action); 
    } } 
    for(int i=0;i <sz2.length;i++) 
              cfont.addItem(sz2[i]); 
            for(int i=0;i <sz1.length;i++) 
              csize.addItem(sz1[i]); this.setJMenuBar(menubar); 
    this.setBounds(400, 300, 300, 400); 
    } ActionListener action=new ActionListener( ){//菜单事件处理 
    public void actionPerformed(ActionEvent e){ 
    JMenuItem mi=(JMenuItem)e.getSource(); 
    String id=mi.getText(); 
    if(id.equals("New")){ 
    text.setText(""); 
    file =null; 
    }else if(id.equals("Open...")){ 
    if(file!=null)filechooser.setSelectedFile(file); 
    int returnVal=filechooser.showOpenDialog(NotepadFrame.this); 
    if(returnVal==JFileChooser.APPROVE_OPTION){ 
    file=filechooser.getSelectedFile(); 
    openFile(); 

    }else if(id.equals("Save...")){ 
    if(file!=null)filechooser.setSelectedFile(file); 
    int returnVal=filechooser.showSaveDialog(NotepadFrame.this); 
    if(returnVal==JFileChooser.APPROVE_OPTION){ 
    file=filechooser.getSelectedFile(); 
    saveFile(); 

    }else if(id.equals("Exit")){ 
    System.exit(0); 
    }else if(id.equals("Cut")){ 
    text.cut(); 
    }else if(id.equals("Copy")){ 
    text.copy(); 
    }else if(id.equals("Paste")){ 
    text.paste(); 
    }else if(id.equals("Replace")){ 
    text.replaceSelection(new String(""));//替换 
    }else if(id.equals("Color...")){ 
    color=JColorChooser.showDialog(NotepadFrame.this, "", color); 
    text.setForeground(color); 
    }else if(id.equals("About")){ 
    about.setSize(100,50); 
    about.show(); 
    }else if(id.equals("Picture")){//////////////////////////////////// 
    FileNameExtensionFilter filter = new FileNameExtensionFilter( 
            "JPG & GIF Images", "jpg", "gif"); 
                        filechooser.setFileFilter(filter); int result= filechooser.showOpenDialog(NotepadFrame.this);//图像如何获得URL 
    if(result == JFileChooser.APPROVE_OPTION){ 
        String name = filechooser.getSelectedFile().getPath(); 
        ImageIcon image = new ImageIcon(name); 
        
        // setSize(image.getIconWidth()+50, image.getIconHeight()+50); 
        text.setText(""); 
        text.setBackground(Color.pink); 
        text.insertIcon(image); 
    } }else if(id.equals("file")){ 
    if(file!=null)filechooser.setSelectedFile(file); 
    int returnVal=filechooser.showOpenDialog(NotepadFrame.this); 
    if(returnVal==JFileChooser.APPROVE_OPTION){ 
    file=filechooser.getSelectedFile(); 
    openFile(); 
    }else if(id.equals("字体")){ 
    fontType(); 
    }else if(id.equals("颜色设置")){ 
    Color userColor = JColorChooser.showDialog(null, "color", Color.PINK); 
    text.setForeground(userColor); 
    }else if(e1.getSource()==yes){//按确定后,字体生效,这里为默认的 
                Font font=new Font(s2,style,size); 
                TextArea.setFont(font); 
                f.dispose();//用来关闭windows的method,只是让windows消失, 
                //但并不是让  整个object释放内  } 
    else if(e1.getSource()==exit){ 
                f.dispose(); 
    } } 
    }; 
    public  void fontType(){ 
    cfont.addActionListener(this); 
    csize.addActionListener(this); 
    p1.add(font);//p1中加label字体 
    p1.add(cfont);//p1+下拉列表 
    p1.add(size); 
    p1.add(csize); 
    cfont.addItemListener(new Item()); 
    csize.addItemListener(new Item()); 
    p2.add(yes); 
    p2.add(exit); 
    p3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.black), "永远的java", 2, 2)); 
    tp.add(show); 
    f.getContentPane().add(typep,"North"); 
            f.getContentPane().add(tp,"Center"); 
            f.getContentPane().add(butp,"South"); 
            f.setTitle("编辑字体"); 
            f.setBounds(20,20,300,200); 
            f.setResizable(false); 
            f.setVisible(true); 
        } private void saveFile() { //保存文件,讲字符写入文件 
    try{ 
    FileWriter fw=new FileWriter(file); 
    fw.write(text.getText()); 
    fw.close(); 
    }catch(Exception e){e.printStackTrace();} 
    } /*private void openFile() { //打开文件,并将字符置于文本框中 
    try{ 
    FileReader fr=new FileReader(file); 
    int len=(int)file.length(); 
    char[]buffer=new char[len]; 
    fr.close(); 
    text.setText(new String(buffer)); 
    }catch(Exception e){e.printStackTrace();} 
    }*/   
      }; 

      

  3.   

    哦!理解错了,我无奈了。。再发一次。不过我本来就写的乱七八糟的package src.temp; 
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Container;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.GridLayout;
    import java.awt.Image;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.net.*;import javax.imageio.ImageReader;
    import javax.imageio.ImageWriter;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JColorChooser;
    import javax.swing.JComboBox;
    import javax.swing.JDialog;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.JTextPane;
    import javax.swing.JToolBar;
    import javax.swing.ScrollPaneConstants;
    import javax.swing.filechooser.FileNameExtensionFilter;
    class NotepadFrame extends JFrame  {

    private Color color=Color.black;
        private static File file=null;
        private JFrame f;
        private static JTextArea text=new JTextArea(0,16);//JTextArea显示纯文本的多行区域
    private JLabel font,size;
    private JButton yes,exit;
    JPanel p1=new JPanel(new GridLayout(1,4)),
           p2=new JPanel(),
               p3=new JPanel();
    private JPanel c=new JPanel(new BorderLayout());
    yes=new JButton("确定");
    exit=new JButton("退出");
    public static JLabel show=new JLabel("永远的java");
    f=new JFrame("字体选择");
    font=new JLabel("字体");
    size=new JLabel("字号");

    JComboBox  cfont=new JComboBox();
    JComboBox csize=new JComboBox();
    public static String s2="宋体";
    public static String[] sz1={"10","16","24","30","32","36"},
            sz2={"宋体","黑体","幼圆","隶书","楷体_GB2312"};
    private JFrame frame = new JFrame();
    public static int style=Font.PLAIN, Size=15;//普通字体 NotepadFrame()
    {
    super("simple word!");
    JScrollPane w=new JScrollPane(text,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    c.add(w,BorderLayout.CENTER);
    getContentPane().add(c);
    this.setSize(800,600);
    this.setVisible(true);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    initTextPane();
    initMenu();
    initAboutDialog();
    //initToolBar();
    }
    private void initAboutDialog() {
    about.getContentPane().add(new JLabel("simple editorV1.0"));
    about.setModal(true);
    about.setSize(100,50);
    }

    void initTextPane(){  ///将文本框放入有滚动对象,并加入到Frame中
    getContentPane().add(new JScrollPane(text));
    }


    JFileChooser filechooser=new JFileChooser();
    JColorChooser colorchooser=new JColorChooser();
    JDialog about=new JDialog(this);
    JMenuBar menubar=new JMenuBar();
    Graphics pictures;


    private JMenu[] menus=new JMenu[]{
    new JMenu("文件"),
    new JMenu("编辑"),
    new JMenu("帮助"),
    new JMenu("插入"),
    new JMenu("格式"),
    new JMenu("工具"),
    new JMenu("表格"),
    }; JMenuItem menuitems[][]=new JMenuItem[][]{{
    new JMenuItem("New"),
    new JMenuItem("Open..."),
    new JMenuItem("Save..."),
    new JMenuItem("Exit")},{
    new JMenuItem("Copy"),
    new JMenuItem("Cut"),
    new JMenuItem("Paste"),
    new JMenuItem("Replace"),
    new JMenuItem("Color...")},{
    new JMenuItem("About")},{
    new JMenuItem("Picture"),
    new JMenuItem("File")},{
    new JMenuItem("字体")},{
    new JMenuItem("颜色设置")},{
    new JMenu("插入"),
    new JMenuItem("绘制表格")
    }
    };

    void initMenu(){
     text.setLineWrap(true);//换行
    JMenuItem branch=new JMenuItem("表格");
    menuitems[6][0].add(branch);


    for(int i=0;i<menus.length;i++){
    menubar.add(menus[i]);
    for(int j=0;j<menuitems[i].length;j++){
    menus[i].add(menuitems[i][j]);
    menuitems[i][j].addActionListener(action);
    }

    }
    for(int i=0;i<sz2.length;i++)
               cfont.addItem(sz2[i]);
            for(int i=0;i<sz1.length;i++)
               csize.addItem(sz1[i]); this.setJMenuBar(menubar);
     this.setBounds(400, 300, 300, 400);
    } ActionListener action=new ActionListener( ){//菜单事件处理
    public void actionPerformed(ActionEvent e){
    JMenuItem mi=(JMenuItem)e.getSource();
    String id=mi.getText();
    if(id.equals("New")){
    text.setText("");
    file =null;
    }else if(id.equals("Open...")){
    if(file!=null)filechooser.setSelectedFile(file);
    int returnVal=filechooser.showOpenDialog(NotepadFrame.this);
    if(returnVal==JFileChooser.APPROVE_OPTION){
    file=filechooser.getSelectedFile();
    openFile();
    }
    }else if(id.equals("Save...")){
    if(file!=null)filechooser.setSelectedFile(file);
    int returnVal=filechooser.showSaveDialog(NotepadFrame.this);
    if(returnVal==JFileChooser.APPROVE_OPTION){
    file=filechooser.getSelectedFile();
    saveFile();
    }
    }else if(id.equals("Exit")){
    System.exit(0);
    }else if(id.equals("Cut")){
    text.cut();
    }else if(id.equals("Copy")){
    text.copy();
    }else if(id.equals("Paste")){
    text.paste();
    }else if(id.equals("Replace")){
    text.replaceSelection(new String(""));//替换
    }else if(id.equals("Color...")){
    color=JColorChooser.showDialog(NotepadFrame.this, "", color);
    text.setForeground(color);
    }else if(id.equals("About")){
    about.setSize(100,50);
    about.show();
    }else if(id.equals("Picture")){////////////////////////////////////
    FileNameExtensionFilter filter = new FileNameExtensionFilter(
            "JPG & GIF Images", "jpg", "gif");
                        filechooser.setFileFilter(filter); int result= filechooser.showOpenDialog(NotepadFrame.this);//图像如何获得URL
     if(result == JFileChooser.APPROVE_OPTION){
         String name = filechooser.getSelectedFile().getPath();
         ImageIcon image = new ImageIcon(name);
         
        // setSize(image.getIconWidth()+50, image.getIconHeight()+50);
         text.setText("");
         text.setBackground(Color.pink);
         text.insertIcon(image);
     }

    }else if(id.equals("file")){
    if(file!=null)filechooser.setSelectedFile(file);
    int returnVal=filechooser.showOpenDialog(NotepadFrame.this);
    if(returnVal==JFileChooser.APPROVE_OPTION){
    file=filechooser.getSelectedFile();
    openFile();
    }else if(id.equals("字体")){
    fontType();
    }else if(id.equals("颜色设置")){
    Color userColor = JColorChooser.showDialog(null, "color", Color.PINK);
    text.setForeground(userColor);
    }else if(e1.getSource()==yes){//按确定后,字体生效,这里为默认的
                Font font=new Font(s2,style,size);
                TextArea.setFont(font); 
                f.dispose();//用来关闭windows的method,只是让windows消失,
                //但并不是让  整个object释放内   }
    else if(e1.getSource()==exit){ 
                f.dispose();
    } }
    };
    public  void fontType(){
    cfont.addActionListener(this);
    csize.addActionListener(this);
    p1.add(font);//p1中加label字体
    p1.add(cfont);//p1+下拉列表
    p1.add(size);
    p1.add(csize);
    cfont.addItemListener(new Item());
    csize.addItemListener(new Item());
    p3.add(yes);
    p3.add(exit);
    p2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.black), "永远的java", 2, 2));
    tp.add(show);
     f.getContentPane().add(typep,"North");
            f.getContentPane().add(tp,"Center");
            f.getContentPane().add(butp,"South");
            f.setTitle("编辑字体");
            f.setBounds(20,20,300,200);
            f.setResizable(false);
            f.setVisible(true);
         }  private void saveFile() { //保存文件,讲字符写入文件
    try{
    FileWriter fw=new FileWriter(file);
    fw.write(text.getText());
    fw.close();
    }catch(Exception e){e.printStackTrace();}
    } private void openFile() { //打开文件,并将字符置于文本框中
    try{
    FileReader fr=new FileReader(file);
    int len=(int)file.length();
    char[]buffer=new char[len];
    fr.close();
    text.setText(new String(buffer));
    }catch(Exception e){e.printStackTrace();}
    }
     

          JToolBar toolbar=new JToolBar(); //工具条
          JButton[] buttons=new JButton[]{
           new JButton("Copy",new ImageIcon("copy.jpg")),
           new JButton("Cut",new ImageIcon("cut.jpg")),
           new JButton("Paste",new ImageIcon("paste.jpg"))
          };
          
        private  void initToolBar(){ 
           for(int i=0;i<buttons.length;i++)
           toolbar.add(buttons[i]);
           buttons[0].setToolTipText("Copy");
           buttons[0].addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
           text.copy();
           }
           });
           buttons[1].setToolTipText("cut");
           buttons[1].addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
           text.cut();
           }
           });
           buttons[2].setToolTipText("paste");
           buttons[2].addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent e){
           text.paste();
           }
           });
          // this.getContentPane().add(toolbar,BorderLayout.NORTH);
          }

       };
    }
      

  4.   

    程序中的错误太多了,头大了,请熟悉swing的朋友过给你调一调吧,不过我认为,调试还不始给你重写一个来的快一点。
      

  5.   

    不道德的名声太难听了,我只好硬着头皮给你改改了。现在好歹能出来主窗口了。其它功能上的问题你自己调调吧。
    //*********这样的注释都是我加的。同时为了调试程序,也注掉了你原来的有些有用的行,你自己留意一下。提几个建议:
    1。命名要见名知义,这个你可能知道,但可能为了少打几个字母就会不注意了,像p1,p2,tp,之类的名字,我都不知道是做什么的。(我自己有时也有这样的毛病。)
    2.程序的缩进格式要对齐。
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Container;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.GridLayout;
    import java.awt.Image;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.net.*;
    import javax.imageio.ImageReader;
    import javax.imageio.ImageWriter;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JColorChooser;
    import javax.swing.JComboBox;
    import javax.swing.JDialog;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.JTextPane;
    import javax.swing.JToolBar;
    import javax.swing.ScrollPaneConstants;
    import javax.swing.filechooser.FileNameExtensionFilter;
    import javax.swing.BorderFactory;   //*****这个你没有加。public class NotepadFrame extends JFrame  {  //********你总得有一个Public class。public 应该加上
        private Color color=Color.black;
        private static File file=null;
        private JFrame f;
        private static JTextArea text=new JTextArea(0,16);//JTextArea显示纯文本的多行区域
        private JLabel font,size;
        private JButton yes,exit;
        JPanel p1=new JPanel(new GridLayout(1,4)),
               p2=new JPanel(),
               p3=new JPanel();
        private JPanel c=new JPanel(new BorderLayout());
        //yes=new JButton("确定");                      //******下面的四行我注掉的没有写到方法体中。给你移到了fontType()方法中。
        //exit=new JButton("退出");
        public static JLabel show=new JLabel("永远的java");
        //f=new JFrame("字体选择");
        //font=new JLabel("字体");
        //size=new JLabel("字号");
        JComboBox  cfont=new JComboBox();
        JComboBox csize=new JComboBox();
        public static String s2="宋体";
        public static String[] sz1={"10","16","24","30","32","36"},sz2={"宋体","黑体","幼圆","隶书","楷体_GB2312"};
        private JFrame frame = new JFrame();
        public static int style=Font.PLAIN, Size=15;//普通字体    NotepadFrame(){
            super("simple word!");
            JScrollPane w=new JScrollPane(text,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            c.add(w,BorderLayout.CENTER);
            getContentPane().add(c);
            this.setSize(800,600);
            this.setVisible(true);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            initTextPane();
            initMenu();
            initAboutDialog();
            //initToolBar();
        }
        private void initAboutDialog() {
            about.getContentPane().add(new JLabel("simple editorV1.0"));
            about.setModal(true);
            about.setSize(100,50);
        }
        void initTextPane(){  ///将文本框放入有滚动对象,并加入到Frame中
            getContentPane().add(new JScrollPane(text));
        }
        JFileChooser filechooser=new JFileChooser();
        JColorChooser colorchooser=new JColorChooser();
        JDialog about=new JDialog(this);
        JMenuBar menubar=new JMenuBar();
        Graphics pictures;
        private JMenu[] menus=new JMenu[]{
                    new JMenu("文件"),
                    new JMenu("编辑"),
                    new JMenu("帮助"),
                    new JMenu("插入"),
                    new JMenu("格式"),
                    new JMenu("工具"),
                    new JMenu("表格"),
         };
         JMenuItem menuitems[][]=new JMenuItem[][]{{
                    new JMenuItem("New"),
                    new JMenuItem("Open..."),
                    new JMenuItem("Save..."),
                    new JMenuItem("Exit")},{
                    new JMenuItem("Copy"),
                    new JMenuItem("Cut"),
                    new JMenuItem("Paste"),
                    new JMenuItem("Replace"),
                    new JMenuItem("Color...")},{
                    new JMenuItem("About")},{
                    new JMenuItem("Picture"),
                    new JMenuItem("File")},{
                    new JMenuItem("字体")},{    
                    new JMenuItem("颜色设置")},{    
                    new JMenu("插入"),
                    new JMenuItem("绘制表格")
                    }
          };
         void initMenu(){
            text.setLineWrap(true);//换行
            JMenuItem branch=new JMenuItem("表格");
            menuitems[6][0].add(branch);
            for(int i=0;i<menus.length;i++){
                  menubar.add(menus[i]);
                  for(int j=0;j<menuitems[i].length;j++){
                      menus[i].add(menuitems[i][j]);
                      menuitems[i][j].addActionListener(action);
                  }
            }    
            for(int i=0;i<sz2.length;i++)
                cfont.addItem(sz2[i]);
            for(int i=0;i<sz1.length;i++)
                csize.addItem(sz1[i]);
            this.setJMenuBar(menubar);
            this.setBounds(400, 300, 300, 400);
         }
        
      

  6.   

    接上一楼:
     ActionListener action=new ActionListener( ){//菜单事件处理
              public void actionPerformed(ActionEvent e){
                  JMenuItem mi=(JMenuItem)e.getSource();
                  String id=mi.getText();
                  if(id.equals("New")){
                      text.setText("");
                      file =null;
                  }else if(id.equals("Open...")){
                      if(file!=null) filechooser.setSelectedFile(file);
                      int returnVal=filechooser.showOpenDialog(NotepadFrame.this);
                      if(returnVal==JFileChooser.APPROVE_OPTION){
                          file=filechooser.getSelectedFile();
                          openFile();
                      }
                  }else if(id.equals("Save...")){
                      if(file!=null)filechooser.setSelectedFile(file);
                      int returnVal=filechooser.showSaveDialog(NotepadFrame.this);
                      if(returnVal==JFileChooser.APPROVE_OPTION){
                          file=filechooser.getSelectedFile();
                          saveFile();
                      }
                  }else if(id.equals("Exit")){
                      System.exit(0);
                  }else if(id.equals("Cut")){
                      text.cut();
                  }else if(id.equals("Copy")){
                      text.copy();
                  }else if(id.equals("Paste")){
                      text.paste();
                  }else if(id.equals("Replace")){
                      text.replaceSelection(new String(""));//替换
                  }else if(id.equals("Color...")){
                      color=JColorChooser.showDialog(NotepadFrame.this, "", color);
                      text.setForeground(color);
                  }else if(id.equals("About")){
                      about.setSize(100,50);
                      about.show();
                  }else if(id.equals("Picture")){////////////////////////////////////
                      FileNameExtensionFilter filter = new FileNameExtensionFilter(
                                "JPG & GIF Images", "jpg", "gif");
                      filechooser.setFileFilter(filter);
                      int result= filechooser.showOpenDialog(NotepadFrame.this);//图像如何获得URL
                      if(result == JFileChooser.APPROVE_OPTION){
                           String name = filechooser.getSelectedFile().getPath();
                           ImageIcon image = new ImageIcon(name);
                           // setSize(image.getIconWidth()+50, image.getIconHeight()+50);
                           text.setText("");
                           text.setBackground(Color.pink);
                           //text.insertIcon(image);
                      }
                  }else if(id.equals("file")){
                      if(file!=null)filechooser.setSelectedFile(file);
                      int returnVal=filechooser.showOpenDialog(NotepadFrame.this);
                      if(returnVal==JFileChooser.APPROVE_OPTION){
                          file=filechooser.getSelectedFile();
                        openFile();}                     //************这里你原来没有}
                       }else if(id.equals("字体")){
                           fontType();
                       }else if(id.equals("颜色设置")){
                          Color userColor = JColorChooser.showDialog(null, "color", Color.PINK);
                          text.setForeground(userColor);
                       }else if(e.getSource()==yes){//按确定后,字体生效,这里为默认的
                           Font font=new Font(s2,style,Integer.parseInt(size.getText()));  //*********你原来是font(s2,style,size);
                        text.setFont(font); 
                        f.dispose();//用来关闭windows的method,只是让windows消失,
                        //但并不是让  整个object释放内                  }
                    else if(e.getSource()==exit){ 
                        f.dispose();
                    }
                }
        };
        public  void fontType(){
            cfont.addActionListener(action);
            csize.addActionListener(action);
            yes=new JButton("确定");
            exit=new JButton("退出");
            f=new JFrame("字体选择");
            font=new JLabel("字体");
            size=new JLabel("字号");
            p1.add(font);//p1中加label字体
            p1.add(cfont);//p1+下拉列表
            p1.add(size);
            p1.add(csize);
           // cfont.addItemListener(new Item());  //*********ItemListener你没有写。
            //csize.addItemListener(new Item());  //*******同上
            p3.add(yes);
            p3.add(exit);
            p2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.black), "永远的java", 2, 2));
           // tp.add(show);         //*****不知道 tp是什么,在那个地方。
             f.getContentPane().add(p1,"North");
              //  f.getContentPane().add(tp,"Center");  //*******不知道 tp,
                f.getContentPane().add(p2,"South");
                f.setTitle("编辑字体");
                f.setBounds(20,20,300,200);
                f.setResizable(false);
                f.setVisible(true);
             } 
        private void saveFile() { //保存文件,讲字符写入文件
            try{
                FileWriter fw=new FileWriter(file);
                fw.write(text.getText());
                fw.close();
            }catch(Exception e){e.printStackTrace();}
        }
        private void openFile() { //打开文件,并将字符置于文本框中
            try{
                FileReader fr=new FileReader(file);
                int len=(int)file.length();
                char[]buffer=new char[len];
                fr.close();
                text.setText(new String(buffer));
            }catch(Exception e){e.printStackTrace();}
        }
        JToolBar toolbar=new JToolBar(); //工具条
        JButton[] buttons=new JButton[]{
                  new JButton("Copy",new ImageIcon("copy.jpg")),
                  new JButton("Cut",new ImageIcon("cut.jpg")),
                  new JButton("Paste",new ImageIcon("paste.jpg"))
          };
        private  void initToolBar(){ 
              for(int i=0;i<buttons.length;i++)
                  toolbar.add(buttons[i]);
              buttons[0].setToolTipText("Copy");
              buttons[0].addActionListener(new ActionListener(){
                  public void actionPerformed(ActionEvent e){
                      text.copy();
                  }
              });
              buttons[1].setToolTipText("cut");
              buttons[1].addActionListener(new ActionListener(){
                  public void actionPerformed(ActionEvent e){
                      text.cut();
                  }
              });
              buttons[2].setToolTipText("paste");
              buttons[2].addActionListener(new ActionListener(){
                  public void actionPerformed(ActionEvent e){
                      text.paste();
                  }
              });// this.getContentPane().add(toolbar,BorderLayout.NORTH);
          }
       public static void main(String[] args){     //******这个main()是我回的,没有这个是不行的。
        new NotepadFrame();
       }
    }
      

  7.   

    还有一点就是起名字时要避免和java中的已经有的名字一样,比如font,file之类的,我在ultra edit中调试,ue会自动把font,file改为Font,File挺烦人。
      

  8.   

    哈哈    现在开心了!因为还有2个类没有贴出来,我说呢,我运行就2个错啊。我知道问题很多,可是有的时候并不是想改就改的过来的。说是学了半学期,其实我一节课也没上满,好在寒假自己看了点,本学期没在java上花任何时间,直到要写大作业总之,谢谢各位支持