Мне было интересно, как я переместил бы свои кнопки в нижней части рамки/окна.Java GUI Перемещение кнопок в нижней части страницы
То, что я сейчас это:
И то, что я хочу, чтобы выглядеть так:
Вот мой код:
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);
}
}
Так что мне было интересно, что бы я сделал o переместите кнопки вниз. Должен ли я использовать BorderLayout
и использовать BorderLayout.SOUTH
и т. Д., Или есть способ сделать это с помощью GridLayout
, который у меня уже есть. Если мне нужно использовать BorderLayout
, как я буду держать свои кнопки в порядке (2 строки, 4 столбца).
Какой IDE ты используешь ? И почему вы не используете функцию перетаскивания, чтобы изменить расположение кнопок. –
@KaranSharma: потому что тогда вы не узнаете о менеджерах компоновки и о том, как их использовать. Приложения с генерированием кода великолепны, но только тогда, когда вы хорошо знакомы с базовой библиотекой графического интерфейса. –
Я использую JGrasp, и да, я знаю, что я могу использовать что-то вроде Eclipse, чтобы просто «нарисовать» все, что мне нужно, но так как это для семестрового проекта, над которым я работаю, я бы предпочел написать код вручную чтобы увидеть, как это работает. В основном именно то, что сказал Hovercraft Full Of Eels. – AlternateRealm