java api 文档 我看过了GridBagLayout 的例子了,那个例子最后的button8 是在前面跨列的,我想知道怎么在后面跨列,
更改成从右到左的顺序也能实现在后面跨列,但是我不知道怎么改顺序,希望哪位高人指点一下,谢谢!

解决方案 »

  1.   


    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class GridBagLayoutDemo {
         
        public GridBagLayoutDemo() {
            
            JFrame f = new JFrame();
         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
            JButton b1 = new JButton("Button1");
            JButton b2 = new JButton("Button2");
            JButton b3 = new JButton("Button3");
            JButton b4 = new JButton("Button4");
            JButton b5 = new JButton("Button5");
            JButton b6 = new JButton("Button6");
            JButton b7 = new JButton("Button7");
            JButton b8 = new JButton("Button8");
            JButton b9 = new JButton("Button9");
            JButton b10 = new JButton("Button10");
     
            GridBagConstraints c = new GridBagConstraints();
         GridBagLayout gridbag = new GridBagLayout();
            f.setLayout(gridbag);
            
                  
            c.weightx = 1.0 ;
            c.fill = GridBagConstraints.BOTH;
            gridbag.setConstraints(b1,c); 
            gridbag.setConstraints(b2,c);
            gridbag.setConstraints(b3,c);
            
            f.add(b1);
            f.add(b2);
            f.add(b3);
            
            c.gridwidth = GridBagConstraints.REMAINDER;
            gridbag.setConstraints(b4,c);
            gridbag.setConstraints(b5,c);
            f.add(b4);
            f.add(b5);
            
            c.gridwidth = GridBagConstraints.RELATIVE;
            gridbag.setConstraints(b6,c);
            f.add(b6);
            
            c.gridwidth = GridBagConstraints.REMAINDER ;
            gridbag.setConstraints(b7,c);
            f.add(b7);
            
            c.gridwidth = GridBagConstraints.RELATIVE;
            gridbag.setConstraints(b9,c);
            f.add(b9);
            
            c = new GridBagConstraints();        
            c.fill = GridBagConstraints.BOTH;
            c.gridx = 3;                         //可以用数字来表示
            c.gridy = 3;
            c.gridheight = 2;
            gridbag.setConstraints(b8,c);
            f.add(b8);
            
            c = new GridBagConstraints();
            c.fill = GridBagConstraints.BOTH;
            c.gridx = 0;
            c.gridy = 4;
            c.gridwidth = 3;
            c.gridheight = 1;
            gridbag.setConstraints(b10,c);
            f.add(b10);
            
                   
            f.pack();
            f.show();
           
            
        }    public static void main(String args[]) {
        
            new GridBagLayoutDemo();
        }
    }