Java 在Swing中添加组可移动水平位置
我正在尝试为一个控制台应用程序制作一个简单的Swing GUI,通常使用.NET,所以这对我来说很新鲜,我试图了解它是如何工作的 我有以下摇摆形式的水平设置:Java 在Swing中添加组可移动水平位置,java,forms,swing,Java,Forms,Swing,我正在尝试为一个控制台应用程序制作一个简单的Swing GUI,通常使用.NET,所以这对我来说很新鲜,我试图了解它是如何工作的 我有以下摇摆形式的水平设置: javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(tempTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(celsiusLabel))
.addGroup(layout.createSequentialGroup()
.addComponent(convertButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(fahrenheitLabel)))
.addGroup(layout.createSequentialGroup()
.addComponent(importDDPathField)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(importDDLabel))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
对于垂直布局,请执行以下操作:
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {convertButton, tempTextField, importDDPathField});
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tempTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(celsiusLabel))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(convertButton)
.addComponent(fahrenheitLabel))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(importDDPathField)
.addComponent(importDDLabel))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
我看不出表单为什么要将最后一组添加到右侧,如下所示:
我以与前两组相同的方式添加了第三组,但位置不知怎么被偏移了,我不确定如何偏移。在水平布局代码中,在
华氏标签
之后可能会有一个额外的)
。这似乎阻止了导入文件小部件与其他小部件位于同一个并行组中。GroupLayout
并不真正用于手工编码,通常很难更新/修改,只是saying@MadProgrammer是的,如果我打算用它来做一个项目,我会更认真地对待它,只是想要些又快又脏的东西