swing 的 GridLayout布局,如何控制行列的高度和宽度 页面一个Panel采用GridLayout布局,Panel.setLayout(new GridLayout(4,0));譬如: 第一行 宽1063 高 500 第二行 宽1040 高900 ……如何控制宽高 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JPanel panel=new JPanel(); panel.setLayout(new GridLayout(4,1)); JPanel titlePanel=new JPanel(); titlePanel.setLayout(null); panel.add(titlePanel); JLabel lbl=new JLabel(); lbl.setText("aaaaaaaaaaaaaaaaaaaa"); titlePanel.add(lbl); JPanel content=new JPanel(); panel.add(content); JTextField txt=new JTextField(); txt.setText("aaaaaaaaaaaaaaaaaaaaaa"); content.add(txt); JPanel title=new JPanel(); panel.add(title); JLabel lbl4=new JLabel(); lbl4.setText("aaaaaaaaaaaaaaaaaaaa"); title.add(lbl4); JPanel con=new JPanel(); panel.add(con); JTextField txt4=new JTextField(); txt4.setText("aaaaaaaaaaaaaaaaaaaaaa"); con.add(txt4); 用GridBagLayout,建议看看 《java核心技术》 Panel.setLayout(null);JLabel lb1=new JLabel("aa");lb1.setBounds(x,y,1063,500);JLabel lb2=new JLabel("bbb");lb2.setBounds(x,y,1040,900);X代表你这行在面板上的横坐标Y代表你这一行在面板上的纵坐标 e ....用Panel.setLayout(null); 当电脑的分辨率不同时,显示的效果很难看啊,而且后期维护也不方便而且设置为null解决不了问题,整个面板下包含 标题面板 (静态) SS侧参数面板 (静态+动态) 1.静态面板 2.动态面板[当动态面板的高度改变时,下面的面板的位置必须相对移动,整个大面板高度必须增加] Tmg侧参数面板 (静态+动态) 1.静态面板 2.动态面板[当动态面板的高度改变时,下面的面板的位置必须相对移动,整个大面板高度必须增加] 命令面板(静态)采用什么布局最合适??? GridLayout布局就是在空白的板子上画格格,应该是等分的,不会出现一个格子大一个格子小的情况啊, 如果要改变间隙可以使用new GridLayout(rows, cols, hgap, vgap),设置hgap, vgap 就行了。要实现楼主的想法,可以结合多种布局,或者使用GridBagLayout布局…… 这些东西完全可以自己看API的 问出来对自己没有多大的益处 ............. 要是看得出还上这来问GridLayout根本就不能实现,它每格都是相等的似乎要用GridBagLayout。。!! fCfg = new JFrame("参数设置");fCfg.setLayout(new GridLayout(4, 3));如何让第三列变窄呢? package com.hw.gridbaglayout;import java.awt.Button;import java.awt.Font;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JFrame;import javax.swing.JPanel;public class GridBagEx2 extends JPanel{ private static final long serialVersionUID = -5214441555967215113L; protected void makebutton(String name, GridBagLayout gridbag, GridBagConstraints c) { Button button = new Button(name); gridbag.setConstraints(button, c); add(button); } public void init() { GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); setFont(new Font("SansSerif", Font.PLAIN, 14)); setLayout(gridbag); c.fill = GridBagConstraints.BOTH; c.weightx = 1.0; makebutton("Button1", gridbag, c); makebutton("Button2", gridbag, c); makebutton("Button3", gridbag, c); c.gridwidth = GridBagConstraints.REMAINDER; //end row makebutton("Button4", gridbag, c); c.weightx = 0.0; //reset to the default makebutton("Button5", gridbag, c); //another row c.gridwidth = GridBagConstraints.RELATIVE; //next-to-last in row makebutton("Button6", gridbag, c); c.gridwidth = GridBagConstraints.REMAINDER; //end row makebutton("Button7", gridbag, c); c.gridwidth = 1; //reset to the default c.gridheight = 2; c.weighty = 1.0; makebutton("Button8", gridbag, c); c.weighty = 0.0; //reset to the default c.gridwidth = GridBagConstraints.REMAINDER; //end row c.gridheight = 1; //reset to the default makebutton("Button9", gridbag, c); makebutton("Button10", gridbag, c); setSize(300, 100); } public static void main(String args[]) { JFrame f = new JFrame("GridBag Layout Example"); f.setLocation(400, 200); GridBagEx2 ex1 = new GridBagEx2(); ex1.init(); f.add("Center", ex1); f.pack(); f.setSize(f.getPreferredSize()); f.setVisible(true); f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); }} oracle 11g 连接不上呀 电子邮件@后域名如何才能知道正确地址? 大家帮我解释一下String的问题哈? 一道奇怪的面试题 几道笔试题 JAVA如何从TXT文本中 读取数据到一个二维数组 高分求解 【菜菜的问】java操作windows剪贴板的模块是哪个啊? 怎么改变系统托盘(java.awt.SystemTray)的外观风格? 谁有这样的算法:给定两个区域,用直线或折线来连接,以及移动其中线段的算法。 关于StackOverflowError问题 》》求指点》》自定义表、表模式,如何设置列名(表头)?
panel.setLayout(new GridLayout(4,1));
JPanel titlePanel=new JPanel();
titlePanel.setLayout(null);
panel.add(titlePanel);
JLabel lbl=new JLabel();
lbl.setText("aaaaaaaaaaaaaaaaaaaa");
titlePanel.add(lbl);
JPanel content=new JPanel();
panel.add(content);
JTextField txt=new JTextField();
txt.setText("aaaaaaaaaaaaaaaaaaaaaa");
content.add(txt);
JPanel title=new JPanel();
panel.add(title);
JLabel lbl4=new JLabel();
lbl4.setText("aaaaaaaaaaaaaaaaaaaa");
title.add(lbl4);
JPanel con=new JPanel();
panel.add(con);
JTextField txt4=new JTextField();
txt4.setText("aaaaaaaaaaaaaaaaaaaaaa");
con.add(txt4);
lb1.setBounds(x,y,1063,500);JLabel lb2=new JLabel("bbb");
lb2.setBounds(x,y,1040,900);X代表你这行在面板上的横坐标
Y代表你这一行在面板上的纵坐标
标题面板 (静态)
SS侧参数面板 (静态+动态)
1.静态面板
2.动态面板[当动态面板的高度改变时,下面的面板的位置必须相对移动,整个大面板高度必须增加]
Tmg侧参数面板 (静态+动态)
1.静态面板
2.动态面板[当动态面板的高度改变时,下面的面板的位置必须相对移动,整个大面板高度必须增加]
命令面板(静态)采用什么布局最合适???
似乎要用GridBagLayout。。!!
fCfg = new JFrame("参数设置");
fCfg.setLayout(new GridLayout(4, 3));如何让第三列变窄呢?
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.JFrame;
import javax.swing.JPanel;public class GridBagEx2 extends JPanel
{
private static final long serialVersionUID = -5214441555967215113L; protected void makebutton(String name, GridBagLayout gridbag,
GridBagConstraints c)
{
Button button = new Button(name);
gridbag.setConstraints(button, c);
add(button);
} public void init()
{
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints(); setFont(new Font("SansSerif", Font.PLAIN, 14));
setLayout(gridbag); c.fill = GridBagConstraints.BOTH;
c.weightx = 1.0;
makebutton("Button1", gridbag, c);
makebutton("Button2", gridbag, c);
makebutton("Button3", gridbag, c); c.gridwidth = GridBagConstraints.REMAINDER; //end row
makebutton("Button4", gridbag, c); c.weightx = 0.0; //reset to the default
makebutton("Button5", gridbag, c); //another row c.gridwidth = GridBagConstraints.RELATIVE; //next-to-last in row
makebutton("Button6", gridbag, c); c.gridwidth = GridBagConstraints.REMAINDER; //end row
makebutton("Button7", gridbag, c); c.gridwidth = 1; //reset to the default
c.gridheight = 2;
c.weighty = 1.0;
makebutton("Button8", gridbag, c); c.weighty = 0.0; //reset to the default
c.gridwidth = GridBagConstraints.REMAINDER; //end row
c.gridheight = 1; //reset to the default
makebutton("Button9", gridbag, c);
makebutton("Button10", gridbag, c); setSize(300, 100);
} public static void main(String args[])
{
JFrame f = new JFrame("GridBag Layout Example");
f.setLocation(400, 200);
GridBagEx2 ex1 = new GridBagEx2(); ex1.init(); f.add("Center", ex1);
f.pack();
f.setSize(f.getPreferredSize());
f.setVisible(true);
f.addWindowListener(new WindowAdapter()
{ @Override
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}}