【转】经典Java程序源代码(一)

http://yumengyuyuan.blog.163.com/blog/static/206225022201211131145492/

 

1.加法器(该java源文件的名称是Adder.java)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

 

public class Adder implements ActionListener

{

       JFrame AdderFrame;

       JTextField TOprand1;

       JTextField TOprand2;

       JLabel LAdd,LSum;

       JButton BAdd,BClear;

       JPanel JP1,JP2;

       public Adder()

       {

              AdderFrame=new JFrame("AdderFrame");

              TOprand1=new JTextField("0.0");

              TOprand2=new JTextField("0.0");

              LAdd=new JLabel("+");

              LSum=new JLabel("=   ");

              BAdd=new JButton("Add");

              BClear=new JButton("Clear");

              JP1=new JPanel();

              JP2=new JPanel();

              BAdd.addActionListener(this);

              BClear.addActionListener(new ActionListener()

              {

                     public void actionPerformed(ActionEvent event)

                     {

                            TOprand1.setText("0.0");

                            TOprand2.setText("0.0");

                            LSum.setText("=");      

                     }

              });

              AdderFrame.add(JP1);

              JP1.add(TOprand1);

              JP1.add(LAdd);

              JP1.add(TOprand2);

              JP1.add(LSum);

             

             

              AdderFrame.add(JP2);

              JP2.add(BAdd);

              JP2.add(BClear);

              AdderFrame.getContentPane().setLayout(new BorderLayout());

              AdderFrame.getContentPane().add(JP1,BorderLayout.NORTH);

              AdderFrame.getContentPane().add(JP2,BorderLayout.SOUTH);

             

              AdderFrame.addWindowListener(new WindowAdapter()

              {

                     public void windowClosing(WindowEvent event)

                     {

                            System.exit(0);

                     }

              });

              AdderFrame.pack();

              AdderFrame.setVisible(true);

              AdderFrame.setResizable(false);

              AdderFrame.setSize(250,100);

       }

       public void actionPerformed(ActionEvent event)

       {

                    

              double sum=(double)(Double.valueOf(TOprand1.getText()).doubleValue()+Double.valueOf(TOprand2.getText()).doubleValue());

              LSum.setText("="+sum);

       }

      

       public static void main(String[] args)

       {

              Adder adder=new Adder();

       }

}

 

 

2.小型记事本(该java源文件由两个类构成,名称为Notepad.java)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

 

class mynotepad extends JFrame

{

    File file=null;

     Color color=Color.red;

     mynotepad()

     {

           initTextContent();

            initMenu();

            initAboutDialog();

     }

    

     void initTextContent()

     {

            getContentPane().add(new JScrollPane(content));

     }

   

    JTextPane content=new JTextPane();

    JFileChooser openfile=new JFileChooser();

    JColorChooser opencolor=new JColorChooser();

    JDialog about=new JDialog(this);

    JMenuBar menu=new JMenuBar();

     //菜单栏的各个菜单项

       JMenu[] menus=new JMenu[]{new JMenu("文件"),new JMenu("编辑"),new JMenu("关于")};

   

    //"文件"菜单项的四个下拉菜单

    //编辑菜单的四个下拉菜单

   

       JMenuItem optionofmenu[][]=new JMenuItem[][]{{new JMenuItem("新建"),new JMenuItem("打开"),new JMenuItem("保存"),new JMenuItem("退出")},

                                                                  {new JMenuItem("复制"),new JMenuItem("剪切"),new JMenuItem("粘贴"),new JMenuItem("颜色")},

                                                                               {new JMenuItem("关于")}

                                                                                };

     void initMenu()

    {

          for(int i=0;i<menus.length;i++)

          {

                menu.add(menus[i]);

                for(int j=0;j<optionofmenu[i].length;j++)

                {

                       menus[i].add(optionofmenu[i][j]);

                       optionofmenu[i][j].addActionListener( action );

                }

          }

          this.setJMenuBar(menu);

    }

   

    ActionListener action=new ActionListener()

    {                   //添加事件监听

           public void actionPerformed(ActionEvent e)

           {

                 String name = e.getActionCommand();

                     JMenuItem MI=(JMenuItem)e.getSource();

                     if("新建".equals(name))

                     {

                            content.setText("");

                            file=null;

                     }

                     else if("打开".equals(name))

                     {

                   if(file !=null)

                          openfile.setSelectedFile(file);

                int returnVal=openfile.showOpenDialog(mynotepad.this);

                if(returnVal==JFileChooser.APPROVE_OPTION)

                {

                                   file=openfile.getSelectedFile();

                    unfold();

                }

 

                 }

                 else if("保存".equals(name))

                 {

                        if(file!=null) openfile.setSelectedFile(file);

                     int returnVal=openfile.showSaveDialog(mynotepad.this);

                if(returnVal==JFileChooser.APPROVE_OPTION)

                {

                       file=openfile.getSelectedFile();

                      saving();

                }

          

            }

            else if("退出".equals(name))

            {

                   mynotepad f=new mynotepad();

                   int s=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionPane.YES_NO_OPTION);

                if(s==JOptionPane.YES_OPTION)

                System.exit(0);

            }

            else if("剪切".equals(name))

            {

                   content.cut();

            }

            else if("复制".equals(name))

            {

                   content.copy();

            }

            else if("粘贴".equals(name))

            {

                   content.paste();

            }

            else if("颜色".equals(name))

            {

                   color=JColorChooser.showDialog(mynotepad.this,"",color);

                content.setForeground(color);

                

                  }

                  else if("关于".equals(name))

                  {

              about.setSize(300,150);

              about.show();

                 }

   

            }

      };

     

      void saving()

      {

           try

           {

               FileWriter Writef=new FileWriter(file);

               Writef.write(content.getText());

               Writef.close();

        }

           catch(Exception e)

           {

                  e.printStackTrace();

           }

 

    }               

     

      void unfold()

      {

           try

           {

               FileReader Readf=new FileReader(file);

              int len=(int)file.length();

             char []buffer=new char[len];

              Readf.read(buffer,0,len);

            Readf.close();

            content.setText(new String(buffer));

        }

        catch(Exception e)

        {

               e.printStackTrace();

        }

       }

 

      void initAboutDialog()

      {

          about.setLayout(new GridLayout(3,1));

          about.getContentPane().setBackground(Color.white);

          about.getContentPane().add(new JLabel("我的记事本程序"));//对话框内容

          about.getContentPane().add(new JLabel("制作者:Fwx"));

          about.getContentPane().add(new JLabel("2007年12月"));

          about.setModal(true);                        //设置对话框前端显示

          about.setSize(100,100);                       

          about.setLocation(250,170);                  //设置对话框显示位置

    };

}  

 

public class Notepad

{

       public static void main(String args[])

       {                          //入口main函数

              mynotepad noted=new mynotepad();

        noted.addWindowListener(new WindowAdapter()

        {

       

        });

        noted.setTitle("我的记事本程序");           //记事本标题

              noted.setSize(640,320);                  //设置记事本大小

              noted.show();                        

              noted.setLocation(150,100);              //设置记事本显示位置

       }

}

posted @ 2015-09-06 15:43  小东瓜刨冰  阅读(478)  评论(0编辑  收藏  举报