
正文
java登录网格布局代码 java登录网格布局代码是什么
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
安卓网格布局如何用java代码实现跨多行跨多列
之前有人做过用Table来实现一个表单的效果,其中也有跨多行和多列,是用纯java代码实现的,没有使用XML。用网格布局GridView也可以实现
相关问答
Q1: 求一个网格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);
}
}
}
}
}
Q2: 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();
}
}
Q3: java swing网格布局问题 我定义了一个6行10列的网格 想在里面添加60个按钮 代码如下
java登录网格布局代码你往panel里面加buttonjava登录网格布局代码的函数没有被调用,也就是init函数没有被执行,
java登录网格布局代码你在main函数中new jdttest();只会调用jdttest类的构造函数public jdttest()
不会调用public void init()函数,所以button数组没有加到panel中,自然就没显示.
解决办法 java登录网格布局代码你在构造函数public jdttest()中panel.setLayout(new GridLayout(6,10));后面
调用一下public void init()函数,就行java登录网格布局代码了.
完整的Java程序如下(改动的地方见注释)
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class jdttest extends JFrame{
JButton button[][]=new JButton[6][10];
JPanel panel=new JPanel();
public jdttest(){
this.setSize(900,630);
this.setLayout(new BorderLayout());
panel.setLayout(new GridLayout(6,10));
panel.setBounds(150, 50, 600,360);
init(); //这里加一句调用init()函数
this.add(panel,BorderLayout.CENTER);
this.setVisible(true);
}
public void init(){
for(int cols=0;cols6;cols++){
for(int rows=0;rows10;rows++){
button[cols][rows]=new JButton("7");
panel.add(button[cols][rows]);
}
}
}
public static void main(String[] args) {
new jdttest();
}
}
java登录网格布局代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java登录网格布局代码是什么、java登录网格布局代码的信息别忘了在本站进行查找喔。








