import java.awt.Frame;
import java.awt.Button;
import java.awt.Color;
import java.awt.GridLayout; 
import java.awt.event.*;  
import java.awt.Panel;  
  public class Test
  { 
    public static void main(String args[])
      { Frame f=new Frame("hello ");
        Button b1=new Button( "MC");
        Button b2=new Button("MR");
        Button b3=new Button("MS");
        Button b4=new Button("M+");
        Button b5=new Button ("Backspace");
       
       Panel b7=new Panel();
         b7.add(b5);
         b7.add(b5);//b5按钮只是一个举例而已
         b7.add(b5);
         b7.add(b5);
         b7.add(b5);
         b7.add(b5);
         b7.add(b5);
         b7.add(b5);
         b7.add(b5);
         b7.setLayout(new GridLayout(3,3));
       
        f.add(b1,"North"); 
        f.add(b2,"West");
        f.add(b7,"Center");
        f.add(b4,"East");
        f.add(b3,"South");
        f.setBackground(Color.yellow);
        f.setSize(200,200);
        f.setVisible(true);
      f.addWindowListener(new WindowAdapter(){
       public void windowClosing(WindowEvent e){
       System.exit(0);}
      });
      }
  }
    我想实现在窗口的东南西北实现各放置一个按钮,而中间区域放置一个3行*3列的按钮,可是中间区域现在显示不出来。帮看看要怎么样改啊  
     

解决方案 »

  1.   

    import java.awt.Frame;
    import java.awt.Button;
    import java.awt.Color;
    import java.awt.GridLayout;  
    import java.awt.event.*;   
    import java.awt.Panel;   
      public class Test
      {  
      public static void main(String args[])
      { Frame f=new Frame("hello ");
      Button b1=new Button( "MC");
      Button b2=new Button("MR");
      Button b3=new Button("MS");
      Button b4=new Button("M+");
      Button b5=new Button ("Backspace");
        
      Panel b7=new Panel();
      /*b7.add(b5);
      b7.add(b5);//b5按钮只是一个举例而已
      b7.add(b5);
      b7.add(b5);
      b7.add(b5);
      b7.add(b5);
      b7.add(b5);
      b7.add(b5);
      b7.add(b5);*/
      for(int i = 0; i < 9; i++)
      {
       b7.add(new Button("" + i));
      }
      b7.setLayout(new GridLayout(3,3));
        
      f.add(b1,"North");  
      f.add(b2,"West");
      f.add(b7,"Center");
      f.add(b4,"East");
      f.add(b3,"South");
      f.setBackground(Color.yellow);
      f.setSize(200,200);
      f.setVisible(true);
      f.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
      System.exit(0);}
      });
      }
      }
      

  2.   

    太谢谢了 不过我还想问下假如我要再0-9之间的按钮添置背景色,要在哪里调用方法Setcolor呢 谢了
      

  3.   

    JButton 有个setIcon方法可以试试
      

  4.   


    没有setColor()方法吧,可以用setBackground();你可以写一个setColor(),在里面各个按钮调用setBackground()方法,然后再在main()方法中调用
      

  5.   

    具体点好吗  俺是新手 不太懂啊  我还想把左边那一列换成4个按钮,可是我用FLOWLayout布局,并把它设置成是在左边位置可是没有用啊?有啥好方法啊
      

  6.   


    import java.awt.Dimension;
    import java.awt.Frame;
    import java.awt.GridLayout;
    import java.awt.Label;
    import java.awt.Panel;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    public class TestS extends Frame{

    Button b1 = new Button("Button1");
    Button b2 = new Button("Button2");

    Panel p1 = new Panel();

    TestS(){
    addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
    System.exit(0);
    }
    });

    p1.setLayout(new GridLayout(2,1));//用GirdLayout布局管理器

    p1.add(b1);
    p1.add(b2);
    add(p1, "West");
    setSize(new Dimension(500,500));
    }

    public static void main(String[] args){
    new TestS().setVisible(true);
    }
    }
      

  7.   

    看我上面的,只要换一下布局管理器,应该就行了。GridLayout是网格布局管理器,设置成四行一列,就可以实现四个按钮并排一列。
      

  8.   

    import java.awt.Frame;
    import java.awt.Button;
    import java.awt.Color;
    import java.awt.GridLayout;  
    import java.awt.event.*;   
    import java.awt.Panel;   
      public class Test
      {  
      public static void main(String args[])
      { Frame f=new Frame("hello ");
      Button b1=new Button( "MC");
      Button b2=new Button("MR");
      Button b3=new Button("MS");
      Button b4=new Button("M+");
      Button b5=new Button ("Backspace");
        
      Panel b7=new Panel();
      b7.setLayout(new GridLayout(3,3));
     /* b7.add(b5);
      b7.add(b5);//b5按钮只是一个举例而已
      b7.add(b5);
      b7.add(b5);
      b7.add(b5);
      b7.add(b5);
      b7.add(b5);
      b7.add(b5);
      b7.add(b5);
     */
      for(int i=0;i<9;i++){
       b7.add(new Button("" + i));
      }
      
        
      f.add(b1,"North");  
      f.add(b2,"West");
      f.add(b7,"Center");
      f.add(b4,"East");
      f.add(b3,"South");
      f.setBackground(Color.yellow);
      f.setSize(200,200);
      f.setVisible(true);
      f.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
      System.exit(0);}
      });
      }
      }
      

  9.   


    就这个吧
    import java.awt.Dimension;
    import java.awt.Frame;
    import java.awt.GridLayout;
    import java.awt.Label;
    import java.awt.Panel;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    public class TestS extends Frame{
        
        Button b1 = new Button("Button1");
        Button b2 = new Button("Button2");
        
        Panel p1 = new Panel();
        
        TestS(){
            addWindowListener(new WindowAdapter(){
                public void windowClosing(WindowEvent e){
                    System.exit(0);
                }
            });
            
            p1.setLayout(new GridLayout(2,1));
            
            p1.add(b1);
            p1.add(b2);
            add(p1, "West");
            setSize(new Dimension(500,500));
        }
        
        public static void main(String[] args){
            new TestS().setVisible(true);
        }
    }
      

  10.   

     for(int i = 0; i <12; i++)
        {
           b7.add(new Button("" + i));
          
        }
        b7.setLayout(new GridLayout(3,3));
      怎么样给组件的几个按钮添加背景色啊