java网格包布局代码 java怎么设置网格布局

求一个网格3*3的java程序代码

效果图

目前成都创新互联已为超过千家的企业提供了网站建设、域名、网络空间、网站托管运营、企业网站设计、监利网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

参考代码

import java.awt.*;

import javax.swing.*;

public class GridFrame extends JFrame {

// 指定横向格子数量

static final int W_NUM = 3;

// 指定竖向格子数量

static final int H_NUM = 3;

// 指定每个格子的宽

static final int CELL_WIDTH = 50;

// 指定每个格子的高

static final int CELL_HEIGHT = 50;

CellPanel cp;

public GridFrame() {

cp = new CellPanel();

this.add(cp);

this.setBounds(350, 100, W_NUM * CELL_WIDTH+15 , H_NUM * CELL_HEIGHT

+ 40);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setTitle("网格窗口");

this.setVisible(true);

}

public static void main(String[] args) {

new GridFrame();

}

class CellPanel extends JPanel {

@Override

public void paint(Graphics g) {

super.paint(g);

for (int i = 0; i  H_NUM; i++) {

for (int j = 0; j  W_NUM; j++) {

g.setColor(new Color((int) (Math.random() * 256),

(int) (Math.random() * 256),

(int) (Math.random() * 256)));

g.fill3DRect(j * CELL_WIDTH, i * CELL_HEIGHT, CELL_WIDTH,

CELL_HEIGHT, true);

}

}

}

}

}

java中网格包布局代码哪里出错?

写的时候仔细点,setLyaout方法里面有错

lbUser=new JLabel("用户名");

gbLayout.setConstraints(tfUser,constraints);

container.add(tfUser);

你这里把 lbUser 指向了对象,此是的tfUser还没有,而你加的时候确是加的tfUser, 你把 tfUser改过来就好了

import javax.swing.*;

import java.awt.*;

public class GridBagLayoutDemo extends JFrame {

private GridBagLayout gbLayout = new GridBagLayout();

private GridBagConstraints constraints = new GridBagConstraints();

private JLabel lbUser, lbPassword;

private JTextField tfUser, tfPassword;

private JButton btnLog;

private Container container;

public GridBagLayoutDemo() {

super("网格包布局");

this.setSize(300, 200);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

private void setConstraints(GridBagConstraints gbc, int row, int column,

int numRows, int numColumns, int Weightx, int Weighty) {

gbc.gridx = row;

gbc.gridy = column;

gbc.gridwidth = numRows;

gbc.gridheight = numColumns;

gbc.weightx = Weightx;

gbc.weighty = Weighty;

}

public void setLyaout() {

container = this.getContentPane();

container.setLayout(gbLayout);

// 添加用户名标签

constraints.fill = GridBagConstraints.NONE;

constraints.anchor = GridBagConstraints.CENTER;

setConstraints(constraints, 0, 0, 1, 1, 0, 0);

lbUser = new JLabel("用户名");

gbLayout.setConstraints(lbUser, constraints);

container.add(lbUser);

// 添加用户名文本框

constraints.fill = GridBagConstraints.HORIZONTAL;

setConstraints(constraints, 1, 0, 1, 1, 100, 100);

tfUser = new JTextField();

gbLayout.setConstraints(tfUser, constraints);

container.add(tfUser);

// 添加密码标签

constraints.fill = GridBagConstraints.NONE;

setConstraints(constraints, 0, 1, 1, 1, 0, 0);

lbPassword = new JLabel("密码");

gbLayout.setConstraints(lbPassword, constraints);

container.add(lbPassword);

// 添加密码文本框

constraints.fill = GridBagConstraints.HORIZONTAL;

setConstraints(constraints, 1, 1, 1, 1, 100, 100);

tfPassword = new JTextField();

gbLayout.setConstraints(tfPassword, constraints);

container.add(tfPassword);

// 添加登录按钮

constraints.fill = GridBagConstraints.CENTER;

setConstraints(constraints, 0, 2, 2, 1, 0, 0);

btnLog = new JButton("登录");

gbLayout.setConstraints(btnLog, constraints);

container.add(btnLog);

}

public static void main(String[] args) {

GridBagLayoutDemo frame = new GridBagLayoutDemo();

frame.setLyaout();

frame.show();

}

}

java中gui网格包布局怎么设置

GridLayout有三种构造方法。第三种方法可以设计边距

构造方法详细信息

1。GridLayout

public GridLayout()

创建具有默认值的网格布局,即每个组件占据一行一列。

从以下版本开始:

JDK1.1

2。GridLayout

public GridLayout(int rows,

int cols)

创建具有指定行数和列数的网格布局。给布局中的所有组件分配相等的大小。

rows 和 cols 中的一个可以为零(但不能两者同时为零),这表示可以将任何数目的对象置于行或列中。

参数:

rows - 该 rows 具有表示任意行数的值零。

cols - 该 cols 具有表示任意列数的值零。

3。GridLayout

public GridLayout(int rows,

int cols,

int hgap,

int vgap)

创建具有指定行数和列数的网格布局。给布局中的所有组件分配相等的大小。

此外,将水平和垂直间距设置为指定值。水平间距将置于列与列之间。将垂直间距将置于行与行之间。

rows 和 cols 中的一个可以为零(但不能两者同时为零),这表示可以将任何数目的对象置于行或列中。

所有 GridLayout 构造方法都服从这一规定。

参数:

rows - 该 rows 具有表示任意行数的值零

cols - 该 cols 具有表示任意列数的值零

hgap - 水平间距

vgap - 垂直间距

抛出:

IllegalArgumentException - 如果将 rows 和 cols 的值都设置为零

Java网格包布局,组件垂直间距怎么调

GridBagLayout里的各种设置都必须通过GridBagConstraints,因此当我们将GridBagConstraints的参数都设置

好了之后,必须new一个GridBagConstraints的对象出来,以便GridBagLayout使用。

参数说明:

gridx,gridy:设置组件的位置,gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。

若将gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。建议定义出gridx,gridy的

位置,以便以后维护程序。表示放在几行几列,gridx=0,gridy=0时放在0行0列。

gridwidth,gridheight:用来设置组件所占的单位长度与高度,默认值皆为1。你可以使用GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,而且会占据所有剩余的空间。

weightx,weighty:用来设置窗口变大时,各组件跟着变大的比例,当数字越大,表示组件能得到更多的空间,默认值皆为0。

anchor:当组件空间大于组件本身时,要将组件置于何处,有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、 WEST、NORTHWEST可供选择。

insets:设置组件之间彼此的间距,它有四个参数,分别是上,左,下,右,默认为(0,0,0,0).

ipadx,ipady:设置组件内的间距,默认值为0。

java 自定义布局

楼主,程序如下:

public class LayoutDemo {

public static void main(String[] args) {

JFrame frame = new JFrame("网格包布局管理器例程");

frame.setLayout(new BorderLayout(3,3));

frame.add(new JButton("按钮1"),BorderLayout.WEST);

frame.add(new JButton("按钮2"),BorderLayout.NORTH);

frame.add(new JButton("按钮3"),BorderLayout.CENTER);

frame.add(new JButton("按钮4"),BorderLayout.SOUTH);

frame.add(new JButton("按钮5"),BorderLayout.EAST);

frame.setSize(300, 200);

frame.setVisible(true);

}

}

有问题欢迎提问,满意请采纳!

安卓网格布局如何用java代码实现跨多行跨多列

之前有人做过用Table来实现一个表单的效果,其中也有跨多行和多列,是用纯java代码实现的,没有使用XML。用网格布局GridView也可以实现


本文题目:java网格包布局代码 java怎么设置网格布局
链接URL:http://bzwzjz.com/article/hichjh.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都定制网站建设 成都企业网站制作 网站制作 网站设计 宜宾网站设计 成都网站建设公司 成都网站制作 营销网站建设 成都网站建设公司 企业网站设计 成都网站建设 广安网站设计 网站制作 成都做网站建设公司 网站制作 企业网站设计 成都网站建设 达州网站设计 成都网站设计 成都网站建设 移动网站建设 盐亭网站设计