简体   繁体   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?

I'm sorry for not giving much information; 抱歉,我没有提供太多信息。 I'm new to Java. 我是Java新手。 Please can you help me with this code? 请帮我这个代码吗? I want to align labels and textfields next to one other and all the buttons in a single row. 我想将标签和文本字段以及所有按钮排成一行。 How can i do this? 我怎样才能做到这一点?

Here's how I'm creating a GroupLayout: 这是我创建GroupLayout的方法:

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

Here's how I'm creating a horizontal group: 这是我创建横向小组的方式:

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))
    )
  )
);

Here's how I'm creating a VerticalGroup: 这是我创建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()
    )
  )
);

You are never forced to use a single panel for all components. 您永远不会被迫对所有组件使用单个面板。

I want to align labels and textfields next to one other 我想将标签和文本字段彼此对齐

Maybe use a panel with eight a SpringLayout or GridBagLayout. 也许使用带有八个SpringLayout或GridBagLayout的面板。 Read the section from the Swing tutorial on How to Use Layout Managers for more information and examples. 阅读Swing教程中有关如何使用布局管理器的部分, 获取更多信息和示例。

and all the buttons in a single row. 和所有按钮都放在一行中

Maybe use a panel with a FlowLayout . 也许使用带有FlowLayout的面板。

Then add the first panel to the CENTER of your dialog and the buttons panel to the SOUTH. 然后将第一个面板添加到对话框的CENTER,将按钮面板添加到SOUTH。

Something like this: 像这样:

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

ETC... for each item you want to programmatically place. ETC ...对于要以编程方式放置的每个项目。

You'll want to play around with the (x,y,w,h) coordinates to fit your needs. 您将需要使用(x,y,w,h)坐标来适应您的需求。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何对齐Jframe标签和按钮 - How can I align my Jframe labels and buttons 我想创建一个具有3个文本字段和2个按钮的JAVA窗口 - I want to create a JAVA window with 3 textfields and 2 buttons 如何使文本字段和标签位于7x3网格中? - How do I get the textfields and the labels to sit in a 7x3 grid? 如何在Java的borderlayout中显示标签和文本字段? - How can i make my labels and textfields appear in a borderlayout in java? 如何在Relativelayout usigin Java代码中一个接一个地创建按钮? - How I can create buttons one next to the other inside Relativelayout usigin Java code? 如何正确对齐标签? - How can I properly align my labels? 如何在Java中对齐下一行​​? - How can I align the next lines in Java? Java Swing中,100个TextField具有相似的任务,所以我想编写一个函数 - Java Swing, 100 TextFields have similar task, So I want to write the one function to do so 我是否需要next()用于具有一行的ResultSet? - Do I need next() for a ResultSet with one row? 我希望我的按钮与我的 gui 中的选择按钮不在同一行? 我将如何做到这一点? - I want my button not in the same row as my choose buttons in my gui? How will I do that?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM