java中的gridy_java,_GridBagLayout 布局 的行列概念以及gridx,gridy失效?,java - phpStudy...

GridBagLayout 布局 的行列概念以及gridx,gridy失效?

大家好,本人java初学者。

在做一个GUI界面的时候使用了GridBagLayout布局,代码如下。

我的理解是gridx 和gridy是将组件设置在 某一行某一列 上,所以我用不同的数值尝试性修改两个button的位置,但是不管怎么设置其位置都没有变化。

那么GridBagLayout中一行一列到底有几个单元格?gridxgridy 应该怎么用?

import java.awt.*;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import javax.swing.*;

public class LoginPanel extends JFrame implements MouseListener{

public JLabel lb1,lb2,lb3;

public JTextField tf1;

public JPasswordField pw1;

public JPanel p1;

public JButton b1,b2;

public LoginPanel(){

lb1=new JLabel("请输入用户名:");

lb2=new JLabel("请输入密码:");

lb3=new JLabel(" ");

tf1=new JTextField (15);

pw1=new JPasswordField (15);

p1=new JPanel();

b1=new JButton("确定");

b2=new JButton("重置");

this.setSize(600,600);

p1.setBackground(Color.yellow);

GridBagLayout playout=new GridBagLayout();

GridBagConstraints s= new GridBagConstraints();

s.gridwidth=2;

s.weightx = 0;

s.weighty=0;

playout.setConstraints(lb1, s);

s.gridwidth=0;

s.weightx = 0;

s.weighty=0;

playout.setConstraints(tf1, s);

s.insets=new Insets(20,0,0,0);

s.gridwidth=2;

s.weightx = 0;

s.weighty=0;

playout.setConstraints(lb2, s);

s.gridwidth=0;

s.weightx = 0;

s.weighty=0;

playout.setConstraints(pw1, s);

/*********这里的gridxgridy似乎没有生效********************/

s.gridx=3;

s.gridy=8;

s.gridwidth=1;

s.weightx = 0;

s.weighty=0;

playout.setConstraints(b1, s);

s.gridx=6;

s.gridy=8;

s.gridwidth=0;

s.weightx = 0;

s.weighty=0;

playout.setConstraints(b2, s);

/*****************************/

this.setLayout(playout);

this.getContentPane().setBackground(Color.gray);

lb1.setPreferredSize(new Dimension(100,30));

lb2.setPreferredSize(new Dimension(100,30));

tf1.setPreferredSize(new Dimension(100,30));

pw1.setPreferredSize(new Dimension(100,30));

//this.setLayout(new BorderLayout());

add(lb1);

add(tf1);

add(lb2);

add(pw1);

add(b1);

add(b2);

//this.pack();

setVisible(true);

}

public static void main( String [] args){

new LoginPanel();

}

@Override

public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseEntered(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseExited(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mousePressed(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseReleased(MouseEvent e) {

// TODO Auto-generated method stub

}

}

相关阅读:

问大家一个问题,我刚做前端一个月(实习)

求解释函数

beautifulsoup怎样替换某一个tag中的所有内容(其中还包含多个tag),如tbody中的所有

安装express过程cmd 进入工作目录错误的问题

在使用image cropper的时候发现安卓不兼容 源头是window.URL为undefined

复杂的业务型项目怎样合理规划 MVC 的程序结构?

用pyserial模块却显示不能打开串口?

How to write the follow simple DateUtil in C#(.net) ?

python selenium如何将两个.py的htmlrunner报告整合在一起

iOS9 Opengl ES texture 渲染问题?

nginx 部署 django 碰到的一些问题?

iOS:如何利用百度地图api计算两点间的实际距离?

各位大神都用什么node.js空间或者云主机?

关于微信地图getlocation问题。

在各大应用市场发布app有什么不同

关于react开发的一些小问题

在php中Controller向View传值

如何优化php代码结构

在iOS开发过程中遇到网络不稳定怎么处理

jxta程序只能运行一次,以后运行必须删除pse后重新配置,否则就出错,怎么办?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值