就像很多软件有的“打开”对话框

解决方案 »

  1.   

    //以前的作业,你可以参考一下`
    import java.io.*;
    import java.net.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Main extends Frame implements ActionListener
    {
        static Main frm=new Main();
        static WinLis wlis=new WinLis();
        static TextArea t1=new TextArea("我的底盘,我做主!!~~~",300,350);
        static MenuBar mb=new MenuBar();
        static Menu menu1=new Menu("文件");
        static Menu menu2=new Menu("关于"); 
        static Menu menu5=new Menu("字体");
        static Menu menu3=new Menu("颜色");    static MenuItem mi1=new MenuItem("打开");
        static MenuItem mi2=new MenuItem("退出");
        static MenuItem mi3=new MenuItem("保存");
        static MenuItem mi4=new MenuItem("自己");
        static MenuItem mi7=new MenuItem("灰色");
        static MenuItem mi8=new MenuItem("红色");
        static MenuItem mi9=new MenuItem("绿色");
        static MenuItem mi10=new MenuItem("常规");
        static MenuItem mi11=new MenuItem("粗体");
        static MenuItem mi12=new MenuItem("斜体");    static MenuItem mi13=new MenuItem("清屏");
       public static void main(String args[]) throws IOException 
       {
          frm.setTitle("Jorty 工作室");
          frm.setLayout(null);
          frm.addWindowListener(wlis);
          mb.add(menu1);
          mb.add(menu3); 
          mb.add(menu5);
          mb.add(menu2); 
              menu1.add(mi1);
          menu1.add(mi3);
          menu1.add(mi2);
          
          menu2.add(mi4);
          menu2.add(mi13);
           menu3.add(mi7);
          menu3.add(mi8);
          menu3.add(mi9);            menu5.add(mi10);
          menu5.add(mi11);
          menu5.add(mi12);
         
          mi1.addActionListener(frm);
          mi2.addActionListener(frm);
          mi3.addActionListener(frm);
          mi4.addActionListener(frm);
          mi7.addActionListener(frm);
          mi8.addActionListener(frm);
          mi9.addActionListener(frm);
          mi10.addActionListener(frm);
          mi11.addActionListener(frm);
          mi12.addActionListener(frm);      mi13.addActionListener(frm);      t1.setBounds(0,50,300,350);
          t1.setFont(new Font("宋体",Font.PLAIN,12));
          t1.setForeground(Color.blue);
             
          frm.add(t1);
          
          frm.setBackground(Color.yellow);
          frm.setMenuBar(mb);
          frm.setBounds(400,200,300,400);
          frm.setVisible(true);
       }
       public void actionPerformed(ActionEvent e)
       {
          MenuItem mi=(MenuItem)e.getSource();
              if(mi==mi1)
            {
             FileDialog A=new FileDialog(frm,"文件读取对话框",FileDialog.LOAD);
                    A.setVisible(true);
                    String f1=A.getDirectory();
                    String f2=A.getFile();
                  try
                    {
                       FileInputStream f=new FileInputStream(f1+"\\"+f2);                
                        int n=1000000;
                        byte buffer[]=new byte[n];
                        while((f.read(buffer,0,n)!=-1)&&(n>0))
                        {
                          t1.insert(new String(buffer),0);
                        }
                        
                        f.close();
                    }
                    catch(IOException w)
                    {
                            System.out.print(w);
                    }
                    catch(Exception q)
                    {
                     System.out.print(q);
                    }
            }
              else if(mi==mi2)
            frm.dispose();
              else if(mi==mi3)
            {  
                 FileDialog B=new FileDialog(frm,"文件保存对话框",FileDialog.SAVE);
                 B.setVisible(true);
                 String f3=B.getDirectory();
                 String f4=B.getFile();                         
                 try
                   {
                      FileOutputStream f5=new FileOutputStream(f3+"\\"+f4); 
                      BufferedOutputStream bos=new BufferedOutputStream(f5);
                      PrintStream ps=new PrintStream(bos);
                      ps.print(t1.getText());
                      ps.close();
                    }
                 catch(IOException r)
                    {System.out.print(r);}
                 catch(Exception t)
                    {System.out.print(t);}
            }
              else if(mi==mi4)
            {
                  jorty.main();          }
             else if(mi==mi7)
            t1.setForeground(Color.gray);
              else if(mi==mi8)
            t1.setForeground(Color.red);
              else if(mi==mi9)
            t1.setForeground(Color.green);
              else if(mi==mi10)
            t1.setFont(new Font("宋体",Font.PLAIN,24));
              else if(mi==mi11)
            t1.setFont(new Font("宋体",Font.BOLD,24));
              else if(mi==mi12)
            t1.setFont(new Font("宋体",Font.ITALIC,24));          else if(mi==mi13) 
              {
                 t1.setText("");
              }      }    static class WinLis extends WindowAdapter
        {
         public void windowClosing(WindowEvent e)
         {
         frm.dispose();
         }
        }
    }        class jorty extends Frame
    {
       static jorty fm=new jorty();
       static Label lab_1=new Label();
       static Label lab_2=new Label();
       static Label lab_3=new Label();    public static void main()
     {
         fm.setBackground(Color.yellow);
         fm.setTitle("Jorty工作室");     lab_1.setForeground(Color.blue);
         lab_2.setForeground(Color.blue);
         lab_3.setForeground(Color.blue);
         lab_1.setText("解永杰_0711024_信息管理专业");
         lab_2.setText("个人主页:sky_in_blue.712100.com");
         lab_3.setText("");     lab_1.setBounds(20,40,300,20);
         lab_2.setBounds(20,70,300,20); 
         lab_3.setBounds(20,80,300,20);         fm.add(lab_1);
         fm.add(lab_2);
         fm.add(lab_3);
         fm.addWindowListener(new WindowAdapter()
         { public void windowClosing(WindowEvent e){fm.dispose();}});
         fm.setBounds(415,300,250,200);
         fm.setVisible(true);
      }}