【发布时间】:2012-02-21 19:07:07
【问题描述】:
我正在使用 Java 中的 JFrame 制作一个猪拉丁语翻译器。这是我的问题;我有一个关闭程序的“退出”按钮;没关系,但我无法控制它的对齐方式(或任何其他组件)。我尝试使用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 退出是我试图与页面底部对齐的那个。谢谢!
【问题讨论】:
-
解决方案:阅读tutorials on use of layout managers 并开始使用它们。 FlowLayout 适用于一些简单的事情,但您需要使用其他一些来解决这个问题,可能使用自己的布局管理器嵌套 JPanel。例如,BorderLayout 可用于将 JPanel 放置在 GUI 的底部位置,您可以将退出 JButton 放置在底部 JPanel 中。
标签: java swing user-interface alignment jframe