gpt4 book ai didi

java - JFrame 中的 JButton 对齐

转载 作者:行者123 更新时间:2023-12-02 07:59:58 25 4
gpt4 key购买 nike

我正在使用 Java 中的 JFrame 制作一个 pig 拉丁语翻译器。这是我的问题;我有一个“退出”按钮可以关闭程序;这并不重要,但重要的是我无法控制它的对齐方式(或任何其他组件)。我尝试使用 quit.setAlignmentY(BOTTOM_ALIGNMENT); 希望将其与页面底部对齐,但没有任何改变。请帮忙吗?如果有人需要,这里是代码;

    public class Main extends JFrame{  
private static JLabel label, result;
private static JTextField english;
private static JButton quit;
private static String originalResult = "Translated to pig latin: ";
private static ArrayList<String> beginningSymbols = new ArrayList<>();
private static ArrayList<String> endingSymbols = new ArrayList<>();
//prompt for string to translate, display final result
public Main(){
super("Pig Latin Translator");
setLayout(new FlowLayout());
setVisible(true);
setSize(600, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
translatingHandler th = new translatingHandler();
label = new JLabel("Enter a phrase to translate into pig latin, then press enter:");
english = new JTextField(15);
result = new JLabel(originalResult);
quit = new JButton("Quit program");
english.addActionListener(th);
quit.addActionListener(th);
quit.setAlignmentY(BOTTOM_ALIGNMENT);
add(label);
add(english);
add(quit);
add(result);
english.requestFocus();
}

public static void main(String[] args){
new Main();
}
...
}

JButton 退出是我试图与页面底部对齐的退出。谢谢!

最佳答案

实际上您正在使用FlowLayout。如果你看一下FlowLayout tutorials据说

The FlowLayout class puts components in a row, sized at their preferred size. If the horizontal space in the container is too small to put all the components in one row, the FlowLayout class uses multiple rows. If the container is wider than necessary for a row of components, the row is, by default, centered horizontally within the container.

如果您坚持使用 FlowLayout 对齐您的组件。

无论如何,请看一下Using Layout Managers 。对于您的任务,适当的布局管理器将是 BorderLayout

但是如果您需要非常灵活的东西,请使用 GridBagLayoutMigLayout但它们使用起来有点复杂。

因此,正如 @HovercraftFullOfEels 建议的那样,尝试避免使用它们。

关于java - JFrame 中的 JButton 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9056239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com