【转】经典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);              //设置记事本显示位置

       }

}

转载于:https://www.cnblogs.com/royalisme/p/4786236.html

160个项目开发实例,聊天项目,小游戏适和新手学习(项目采用GBK编码)。 import java.util.*; import java.io.*; import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*; class Gobang extends JFrame implements Runnable, ActionListener { final static int Player=1; final static int AI =-1; ClassLoader cl = this.getClass().getClassLoader(); Toolkit tk = Toolkit.getDefaultToolkit(); int length=14, game_state, winner, check, step; int grid[][] = new int[length][length]; int locX, locY /* 囱竚 */, count /* 硈囱计 */, x, y /* 既竚 */, displace_x=0, displace_y=0 /* 簿秖 */, direction; ArrayList steps = new ArrayList(); /* 癘魁囱˙ */ JPopupMenu control_menu = new JPopupMenu(); /* 龄匡虫 */ JMenuItem[] command = new JMenuItem[4]; String[] command_str={"囱", "郎", "弄郎", "秨"}; int[][] dir = { {-1, -1}, {-1, 0}, {-1, 1}, {0, -1}, {0, 1}, {1, -1}, {1, 0}, {1, 1} }; boolean[] dir2 = new boolean[8]; boolean turn; String message; final JDialog dialog = new JDialog(this, "叫匡", true); Font font=new Font("new_font", Font.BOLD, 20); Grid grids[][] = new Grid[length][length]; Image white= tk.getImage(cl.getResource("res/white.png")); Image black= tk.getImage(cl.getResource("res/black.png")); Image title= tk.getImage(cl.getResource("res/title.png")); Image temp; JPanel boardPanel, bigpanel; JRadioButton[] choice = new JRadioButton[2]; final static int Start =0; final static int Select =1; final static int Playing =2; final static int End =3; final static int nil=-1; /* 礚よ */ final static int oblique_1 =0; /* オ */ final static int oblique_2 =1; /* オ */ final static int horizontal =2; /* 绢 */ final static int vertical=3; /*  */ Gobang() { super("き囱"); boardPanel = new JPanel(); boardPanel.setLayout(new GridLayout(length, length, 0, 0)); boardPanel.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); for(int i=0; i<length; i++) for(int j=0; j<length; j++) {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值