Java 如何在JToolbar中将一个按钮向右对齐?

Java 如何在JToolbar中将一个按钮向右对齐?,java,swing,jbutton,jtoolbar,Java,Swing,Jbutton,Jtoolbar,我有一个工具栏,我需要在屏幕左侧放置一系列JButton和JLabel,但其中一个按钮在右侧。我不能把最后一个移到右边 this.panelControl=new JToolBar(); setLayout(new FlowLayout(FlowLayout.LEFT)); //i use it to move them to the left, probably wrong panelControl.add(load); panelControl.addSeparator(); panelC

我有一个工具栏,我需要在屏幕左侧放置一系列JButton和JLabel,但其中一个按钮在右侧。我不能把最后一个移到右边

this.panelControl=new JToolBar();

setLayout(new FlowLayout(FlowLayout.LEFT)); //i use it to move them to the left, probably wrong
panelControl.add(load);
panelControl.addSeparator();
panelControl.add(laws);
panelControl.addSeparator();
panelControl.add(play);
panelControl.add(stop);
panelControl.add(labelSteps);
panelControl.add(steps);
panelControl.add(labelTime);
panelControl.add(time);
panelControl.add(exit); // i need this to be in the right side, but i can't

this.add(panelControl);

非常感谢。请使用JToolBar自己的布局,但在最后两个按钮之间添加水平胶水。这会给你留出空间。例如:

为此:

} else {
    toolBar.add(Box.createGlue());
    toolBar.add(button);
}
这样,即使工具栏处于垂直位置,分离仍然存在

还要注意,如果需要限制JTextField的大小,可以将其最大大小设置为首选大小,例如

} else {
    int columns = 10;
    JTextField time = new JTextField(columns);
    time.setMaximumSize(time.getPreferredSize());
    toolBar.add(time);
    toolBar.add(Box.createHorizontalGlue());
    toolBar.add(button);
}

最好使用,因此即使JToolBar是可浮动的,并且由用户浮动并垂直重新停靠,也会保留拉伸的布局。如果我这样做,则按钮(时间)之前的jTextfield会变得超长,以填充所有空间。?我怎么能把它剪掉?@eisklat:这就是一篇像样的代码帖子派上用场的地方。请以上面的我的代码为例,然后修改它以显示您的问题,并将其发布到您的问题中。@eisklat:处理此问题的一种方法是通过执行以下操作来限制文本字段的最大大小:
time.setMaximumSize(time.getPreferredSize())
@eisklat,但是您可能需要首先设置JTextField的column属性,根据我的附录,以回答上述问题(1-
),我现在对steps也有同样的问题,这是一个jspinner。如何修复它?
-您已经得到了答案。您也已经被要求提供一个示例来演示该问题。发布你的代码,显示你尝试了什么!!!
} else {
    toolBar.add(Box.createGlue());
    toolBar.add(button);
}
} else {
    int columns = 10;
    JTextField time = new JTextField(columns);
    time.setMaximumSize(time.getPreferredSize());
    toolBar.add(time);
    toolBar.add(Box.createHorizontalGlue());
    toolBar.add(button);
}