【发布时间】:2015-01-27 17:04:27
【问题描述】:
我想知道如何将按钮移动到框架/窗口的底部。
我现在拥有的是这样的:
我希望它看起来像这样:
这是我的代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Font;
public class checkbook{
static JButton Button[] = new JButton[8];
JLabel begin, accountName, balance;
JFrame frame;
JPanel jpanel, jpanel1;
Container contentPane;
private JTextField textAccount, textBalance;
public static void main(String[] args){
checkbook checkbook = new checkbook();
checkbook.startFrame();
}
checkbook(){
frame = new JFrame("Checkbook");
}
public void startFrame(){
String bottomButtons[] = {
"Create a New Account", "Load Trans from a file", "Add New Transactions", "Search Transactions",
"Sort Transactions", "View/Delete Transactions", "Backup Transactions", "Exit"
};
Container contentPane = frame.getContentPane();
contentPane.setLayout(new FlowLayout());
Font beginFont = new Font("Arial", Font.PLAIN + Font.BOLD, 22);
textAccount = new JTextField(" ", 15);
textBalance = new JTextField("0.0", 15);
begin = new JLabel("Use The Buttons below To Manage Transactions");
begin.setFont(beginFont);
contentPane.add(begin);
//Container contentPane1 = frame.getContentPane();
//contentPane1.setLayout(new FlowLayout());
JPanel jpanel = new JPanel();
accountName = new JLabel ("Account Name: ");
jpanel.add(accountName);
jpanel.add(textAccount);
balance = new JLabel ("Balance: ");
jpanel.add(balance);
jpanel.add(textBalance);
JPanel jpanel1 = new JPanel();
jpanel1.setLayout(new GridLayout(2,4));
for(int i = 0; i < 8; i++){
Button[i] = new JButton(bottomButtons[i]);
jpanel1.add(Button[i]);
//Button[i].addActionListener(AL);
}
frame.pack();
frame.setSize(800, 300);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.add(jpanel);
frame.add(jpanel1);
}
}
所以我想知道如何将按钮向下移动到底部。我是否必须使用BorderLayout 并使用BorderLayout.SOUTH 等,或者有没有办法使用我已经拥有的GridLayout 来做到这一点。如果我必须使用BorderLayout,我将如何保持我的按钮井然有序(2 行,4 列)。
【问题讨论】:
-
您使用的是什么 IDE?为什么不使用拖放功能来更改按钮的位置。
-
@KaranSharma:因为那样你就不会了解布局管理器以及如何使用它们。代码生成应用程序很棒,但除非您非常熟悉底层 GUI 库。
-
我正在使用 JGrasp,是的,我知道我可以使用 Eclipse 之类的工具来“绘制”我需要的所有内容,但由于这是我正在从事的一个学期项目,所以我宁愿手工编写代码,看看它是如何工作的。基本上就是充满鳗鱼的气垫船所说的。
-
对不起,如果我错误地插入了我的代码,我不知道如何插入它不必在每行代码前输入 4 个空格。 选择整个代码示例的文本,然后单击消息发布/编辑表单顶部的
{}按钮。
标签: java swing user-interface button layout-manager