当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·有人玩robocode吗    »显示摘要«
    摘要: 用它来代替游戏作为自己的休息应该是一种很不错的选择呢 ......
    摘要: grid型数据窗口,对其按日期进行分组,然后分组对金额求和compute_1(sum je for group 1); 请问: 1、我如何取得每个分组的--compute_1的值 2、我如何取得每个分组的--日期 帮忙了!!!! ......


初学java,做的头昏脑涨,麻烦高手指导一下。

在Frame中,加入TextField与Panel后,在Panel中加入计算器的Button.  
  搞死我了..做不出来,不要见笑^_^...  
   
  //简易计算器的控制面板   0分...  
   
  import   java.awt.*;  
  public   class   dialog{  
          private   Frame   f;  
          private   TextField   tf;  
          private   Panel   pan;    
          private   Button     b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12;  
          public   dialog(String   title)   {  
          f   =   new   Frame(title);  
          tf=   new   TextField();  
          pan   =   new   Panel();  
          b1   =   new   Button("1");  
          b2   =   new   Button("2");  
          b3   =   new   Button("3");  
          b4   =   new   Button("4");  
          b5   =   new   Button("5");  
          b6   =   new   Button("6");  
          b7   =   new   Button("7");  
          b8   =   new   Button("8");  
          b9   =   new   Button("9");  
          b10   =   new   Button("10");  
          b11   =   new   Button("11");  
          b12   =   new   Button("12");  
           
          }  
  public   void   launchFrame()   {  
                  f.setSize(   255,255);  
                  f.setBackground(   Color.blue);  
                  f.setLayout(   new   FlowLayout(   ))   ;  
                  f.add(tf);  
                  tf.setSize(100,100);  
                  tf.setBackground(Color.white);  
                  f.add(b1)   ;  
                  f.add(b2);  
                  f.add(b3)   ;  
                  f.add(b4);  
                  f.add(b5)   ;  
                  f.add(b6);  
                  f.add(b7)   ;  
                  f.add(b8);  
                  f.add(b9)   ;  
                  f.add(b10);  
                  f.add(b11)   ;  
                  f.add(b12);  
                   
                  f.pack();  
                  f.setLayout(null);   //   取消默认的布局管理器  
                  pan.setSize(255,50);  
                  pan.setBackground(Color.yellow);  
                  f.add(pan);  
                  f.setVisible(   true);  
  }  
   
   
  public   static   void   main(   String   args[])   {  
                  dialog   guiWin   =   new   dialog("计算器");  
                  guiWin.launchFrame();  
                   
                          }  
            }  
 

NO.1   作者: javahui

界面有了,增加按钮事件处理,再处理逻辑了。  
 

NO.2   作者: VVV_lucky

找本书看看源吗

NO.3   作者: VVV_lucky

给你帖一个,这个时核心技术里的一个源码,看书是最好的学习之路。  
  例子最好做又源码的,并且泡论坛对学习帮助不大,对提高倒是有点作用  
   
  import   java.awt.*;  
  import   java.awt.event.*;  
  import   javax.swing.*;  
   
  public   class   Calculator  
  {  
        public   static   void   main(String[]   args)  
        {      
              CalculatorFrame   frame   =   new   CalculatorFrame();  
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
              frame.show();  
        }  
  }  
   
  /**  
        A   frame   with   a   calculator   panel.  
  */  
  class   CalculatorFrame   extends   JFrame  
  {  
        public   CalculatorFrame()  
        {  
              setTitle("Calculator");  
              setSize(WIDTH,   HEIGHT);  
   
              Container   contentPane   =   getContentPane();  
              CalculatorPanel   panel   =   new   CalculatorPanel();  
              contentPane.add(panel);  
        }  
   
        public   static   final   int   WIDTH   =   200;  
        public   static   final   int   HEIGHT   =   200;      
  }  
   
   
  /**  
        A   panel   with   calculator   buttons   and   a   result   display.  
  */  
  class   CalculatorPanel   extends   JPanel  
  {      
        public   CalculatorPanel()  
        {      
              setLayout(new   BorderLayout());  
   
              result   =   0;  
              lastCommand   =   "=";  
              start   =   true;  
               
              //   add   the   display  
   
              display   =   new   JTextField("0");  
              display.setEditable(false);  
              add(display,   BorderLayout.NORTH);  
               
              ActionListener   insert   =   new   InsertAction();  
              ActionListener   command   =   new   CommandAction();  
   
              //   add   the   buttons   in   a   4   x   4   grid  
   
              panel   =   new   JPanel();  
              panel.setLayout(new   GridLayout(4,   4));  
   
              addButton("7",   insert);  
              addButton("8",   insert);  
              addButton("9",   insert);  
              addButton("/",   command);  
   
              addButton("4",   insert);  
              addButton("5",   insert);  
              addButton("6",   insert);  
              addButton("*",   command);  
   
              addButton("1",   insert);  
              addButton("2",   insert);  
              addButton("3",   insert);  
              addButton("-",   command);  
   
              addButton("0",   insert);  
              addButton(".",   insert);  
              addButton("=",   command);  
              addButton("+",   command);  
   
              add(panel,   BorderLayout.CENTER);  
        }  
   
        /**  
              Adds   a   button   to   the   center   panel.  
              @param   label   the   button   label  
              @param   listener   the   button   listener  
        */  
        private   void   addButton(String   label,   ActionListener   listener)  
        {      
              JButton   button   =   new   JButton(label);  
              button.addActionListener(listener);  
              panel.add(button);  
        }  
   
        /**  
              This   action   inserts   the   button   action   string   to   the  
              end   of   the   display   text.  
        */  
        private   class   InsertAction   implements   ActionListener  
        {  
              public   void   actionPerformed(ActionEvent   event)  
              {  
                    String   input   =   event.getActionCommand();  
                    if   (start)    
                    {  
                          display.setText("");  
                          start   =   false;  
                    }  
                    display.setText(display.getText()   +   input);  
              }  
        }  
   
        /**  
              This   action   executes   the   command   that   the   button  
              action   string   denotes.  
        */  
        private   class   CommandAction   implements   ActionListener  
        {  
              public   void   actionPerformed(ActionEvent   evt)  
              {      
                    String   command   =   evt.getActionCommand();  
   
                    if   (start)  
                    {      
                          if   (command.equals("-"))    
                          {    
                                display.setText(command);    
                                start   =   false;    
                          }  
                          else    
                                lastCommand   =   command;  
                    }  
                    else  
                    {      
                          calculate(Double.parseDouble(display.getText()));  
                          lastCommand   =   command;  
                          start   =   true;  
                    }  
              }  
        }  
   
        /**  
              Carries   out   the   pending   calculation.    
              @param   x   the   value   to   be   accumulated   with   the   prior   result.  
        */  
        public   void   calculate(double   x)  
        {  
              if   (lastCommand.equals("+"))   result   +=   x;  
              else   if   (lastCommand.equals("-"))   result   -=   x;  
              else   if   (lastCommand.equals("*"))   result   *=   x;  
              else   if   (lastCommand.equals("/"))   result   /=   x;  
              else   if   (lastCommand.equals("="))   result   =   x;  
              display.setText(""   +   result);  
        }  
         
        private   JTextField   display;  
        private   JPanel   panel;  
        private   double   result;  
        private   String   lastCommand;  
        private   boolean   start;  
  }

NO.4   作者: songbo_pp

hi.3xp   (kk):  
  看了一下你的源程序,有几个问题:  
  1.类名首字母应该大写,dialog应为Dialog,否则编译器就不会放过你;  
  2.pan是用来干什么的,不清楚。Panel用来布局界面,整体布局可以采用Frame的缺省布局管理器BorderLayout,分为上、下两部分,分别用panel来填充,上面的panel可以放一个textfield,占大部分空间的下面的panel可以放数字button,采用TGridLayout;  
  3.采用布局管理器时,控件大小是由布局管理器来控制的,所起setSize不会起作用。

NO.5   作者: GeminiFox

用IDE不利于对awt,swing   的理解。  
   
  建议用记事本


    摘要: 就是用程序得到如下操作同样的结果 用ie打开html文件,在ie中全选,然后复制粘帖到记事本里,我就需要记事本里的内容。 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE