簡體   English   中英

我想將標簽和文本字段彼此對齊,並將所有按鈕排成一行; 我該怎么做?

[英]I want to align labels and textfields next to one other and all the buttons in a single row; how can i do it?

抱歉,我沒有提供太多信息。 我是Java新手。 請幫我這個代碼嗎? 我想將標簽和文本字段以及所有按鈕排成一行。 我怎樣才能做到這一點?

這是我創建GroupLayout的方法:

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);

這是我創建橫向小組的方式:

layout.setHorizontalGroup(

  layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

  .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

  .addGroup(layout.createParallelGroup()

  .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

  .addGroup(layout.createSequentialGroup()

  .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 400, javax.swing.GroupLayout.PREFERRED_SIZE))

  .addGroup(layout.createParallelGroup()
    .addGap(40, 40, 40)
    .addComponent(jLabel2)
    .addComponent(txtitem, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(jLabel3)
    .addComponent(txtprice, javax.swing.GroupLayout.DEFAULT_SIZE, 100,javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(jLabel4) 
    .addComponent(txtquantity, javax.swing.GroupLayout.DEFAULT_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(jLabel5)
    .addComponent(txtreorder, javax.swing.GroupLayout.DEFAULT_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(btnupdate)//,javax.swing.GroupLayout.DEFAULT_SIZE, 100, javax.swing.GroupLayout.DEFAULT_SIZE)//,javax.swing.GroupLayout.DEFAULT_SIZE, 100, javax.swing.GroupLayout.DEFAULT_SIZE)
    .addComponent(btndelete,javax.swing.GroupLayout.DEFAULT_SIZE, 100, javax.swing.GroupLayout.DEFAULT_SIZE)
    .addComponent(btnload,javax.swing.GroupLayout.DEFAULT_SIZE, 100, javax.swing.GroupLayout.DEFAULT_SIZE)
    .addComponent(btnadd)//,javax.swing.GroupLayout.DEFAULT_SIZE, 100, javax.swing.GroupLayout.DEFAULT_SIZE)
    .addComponent(txtreorder)
    .addComponent(jLabel5))
    )
  )
);

這是我創建VerticalGroup的方法:

layout.setVerticalGroup(
  layout.createParallelGroup()
    .addGroup(layout.createSequentialGroup()
    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addGap(40, 40, 40)
    .addGroup(layout.createSequentialGroup()
    .addComponent(jLabel2)
    .addComponent(txtitem, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(jLabel3)
    .addComponent(txtprice, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(jLabel4)
    .addComponent(txtquantity, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(jLabel5)
    .addComponent(txtreorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    // .addComponent(btnadd))
    .addGap(40, 40, 40)
    .addComponent(btnadd,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(txtreorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(btnupdate,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(txtreorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(btndelete,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(txtreorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(btnload,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addComponent(txtreorder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
    .addContainerGap()
    )
  )
);

您永遠不會被迫對所有組件使用單個面板。

我想將標簽和文本字段彼此對齊

也許使用帶有八個SpringLayout或GridBagLayout的面板。 閱讀Swing教程中有關如何使用布局管理器的部分, 獲取更多信息和示例。

和所有按鈕都放在一行中

也許使用帶有FlowLayout的面板。

然后將第一個面板添加到對話框的CENTER,將按鈕面板添加到SOUTH。

像這樣:

label1.setBounds(2,2,50,25); 
textField1.setBounds(10,2,50,25);

ETC ...對於要以編程方式放置的每個項目。

您將需要使用(x,y,w,h)坐標來適應您的需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM