GridLayout中如何设置一个按钮占两个位置,就像我截图的那样

 我来答
dayinspring
高粉答主

推荐于2016-04-08 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:2.3万
采纳率:92%
帮助的人:3535万
展开全部

思路:对窗体应用边界布局,在NORTH上放置一个文本框,在CENTER上放置一个面板,面板上放置计算器的相应按钮

//GridFrame.Java

import java.awt.*;

import javax.swing.*;

class GridFrame extends JFrame{

         //定义面板,并设置为网格布局,4行4列,组件水平、垂直间距均为3

          JPanel p=new JPanel(new GridLayout(4,4,3,3));

          JTextArea t=new JTextArea();        //定义文本框

          //定义字符串数组,为按钮的显示文本赋值

         //注意字符元素的顺序与循环添加按钮保持一致

          String str[]={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};

     public GridFrame(String s){

                   super(s);  //为窗体名称赋值

        setLayout(new BorderLayout());     //定义窗体布局为边界布局

        JButton btn[];                             //声明按钮数组

        btn=new JButton[str.length];     //创建按钮数组

                   //循环定义按钮,并添加到面板中

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

               btn[i]=new JButton(str[i]);

               p.add(btn[i]);

         }

                    //将文本框放置在窗体NORTH位置

            getContentPane().add(t,BorderLayout.NORTH);     

            //将面板放置在窗体CENTER位置

            getContentPane().add(p,BorderLayout.CENTER);   

            setVisible(true);

            setSize(250,200);

            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            setLocationRelativeTo(null);               //让窗体居中显示

        }

      public static void main(String[] args){

         GridFrame gl=new GridFrame("网格布局计算机!");

         }

 

程序执行结果如下图:

寒阳冷夏
推荐于2016-05-03
知道答主
回答量:14
采纳率:0%
帮助的人:5.9万
展开全部
//在gridlayout网格7,0位置,插入占两列一行的按钮0,位置根据自己的需要修改
gridLayout->addWidget(btn_equal,7,0,1,2);
//在gridlayout网格6,4位置,插入占两行一列的按钮=,位置根据自己的需要修改
gridLayout->addWidget(btn_equal,6,4,2,1);

两行一列的按钮没法直接排好,需要添加语句:
btn_equal(你的按钮名)->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-05-20
展开全部
先定好你控件所在的layout_row和layout_column,然后用android:layout_columnSpan="2"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-03-16
展开全部
这个,看来,要先设计两个的位置的,再嵌入两个一个位置的。
追问
能说具体一点不?刚学,还不太懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式