本文目錄一覽:
- 1、Java網格包布局,組件垂直間距怎麼調
- 2、java網格布局中可以設置button的大小嗎
- 3、java 使用網格布局後
- 4、java網格布局中放入多個容器的問題
- 5、java中界面設計的網格布局怎樣設計邊距
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網格布局中可以設置button的大小嗎
setSize(intx,inty)直接設置大小setBounds(intx,inty,intwidth,intheight)由x和y指定左上角的新位置,由width和height指定新的大校
java 使用網格布局後
你可以格式下,我想你大概要的這種效果,給你代碼可以參考下:
import java.awt.*;
import javax.swing.*;
import java.awt.GridLayout;
@SuppressWarnings(“serial”)
public class LoginIFrame extends JFrame {
public static void main(String[] args) {
JFrame jf = new JFrame(“註冊”);
JPanel jpanel = new JPanel();
jf.setContentPane(jpanel);
// 設置窗口在屏幕中居中顯示
double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
int x = (int) (width – 300) / 2;
int y = (int) (height – 250) / 2;
jf.setBounds(x, y, 300, 150);
// 添加標籤組件
GridLayout gird = new GridLayout(3, 0);
JPanel jpanel1 = new JPanel();
JPanel jpanel2 = new JPanel();
JPanel jpanel3 = new JPanel();
jpanel.setLayout(gird);
jpanel.add(jpanel1);
jpanel.add(jpanel2);
jpanel.add(jpanel3);
JLabel name = new JLabel(“用 戶 名:”);
JTextField nametext = new JTextField(10);
JLabel pwd = new JLabel(“密 碼:”);
JPasswordField pwd1 = new JPasswordField(10);
JLabel pwd2 = new JLabel(“確認密碼:”);
JPasswordField pwd3 = new JPasswordField(10);
jpanel1.add(name);
jpanel1.add(nametext);
jpanel2.add(pwd);
jpanel2.add(pwd1);
jpanel3.add(pwd2);
jpanel3.add(pwd3);
jf.getLayeredPane().setLayout(null);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jpanel.setOpaque(false);
jpanel1.setOpaque(false);
jpanel2.setOpaque(false);
jpanel3.setOpaque(false);
jf.setVisible(true);
}
}
效果:
滿意請採納!
java網格布局中放入多個容器的問題
你可以看javaAPI中GridLayout類里有一句話,是這樣說的:
通過構造方法或 setRows 和 setColumns 方法將行數和列數都設置為非零值時,指定的列數將被忽略。列數通過指定的行數和布局中的組件總數來確定。
僅當將行數設置為零時,指定列數才對布局有效。
所以你把GridLayout的第一個參數改成0就能保證永遠是一列了。否則的話,如果控件的數量不等於你指定的行列之積,那麼會保持行數不變,而列數會變化,列數=總控件數 / 你指定的行數。
有問題仔細讀讀API,很多時候就能找到答案。
java中界面設計的網格布局怎樣設計邊距
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 的值都設置為零
原創文章,作者:XJUUD,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128464.html