Как разместить объект JTextArea в определенном месте на JPanel? - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь реализовать приложение JAVA GUI, но я столкнулся с проблемой, которую я нигде не смог найти, как переместить JTextArea в определенное место на панели. Я сфотографировал программное обеспечение.

Я пробовал много способов сделать белый объект JTextArea, расположенный под большим объектом JTextArea на правой панели. У кого-нибудь есть идеи по этому поводу? Например, как переместить объект JTextArea вокруг остальных и как заставить объекты JButton / JTextArea оставаться в фиксированном месте?

public class menu extends JFrame {
    private JButton generate, sort;
    private final JTextArea TEXT_AREA_EAST = new JTextArea(30,40);
    private final JTextArea TEXT_AREA_WEST = new JTextArea(30,40);
    private final JTextArea TEXT_AREA_EAST_BELOW = new JTextArea(5,30);

    private void display() {
        setTitle ("Sorting Algorithm Runtime Calculator");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(500,300);
        setLocationRelativeTo(null);
        setLayout(new GridLayout(5,2,5,5));

        JPanel contentPane = new JPanel();
        contentPane.setOpaque(true);
        contentPane.setBackground(Color.white);
        contentPane.setBorder(
        BorderFactory.createEmptyBorder(horizontal, horizontal, horizontal, horizontal));
        contentPane.setLayout(new BorderLayout(horizontal, vertical)); 
        ButtonGroup bg = new ButtonGroup();

        rightPanel = new JPanel();
        rightPanel.setOpaque(true);
        rightPanel.setBackground(Color.yellow);        
        border = BorderFactory.createTitledBorder("Sorted List");
        border.setTitleJustification(TitledBorder.CENTER);
        rightPanel.setBorder(border);        
        sort = new JButton("Sort");    

        rightPanel.add(sort, JPanel.TOP_ALIGNMENT);
        rightPanel.add(TEXT_AREA_EAST, BorderLayout.EAST);
        rightPanel.add(TEXT_AREA_EAST_BELOW, BorderLayout.SOUTH);

        TEXT_AREA_EAST.setBackground(Color.CYAN);
        TEXT_AREA_EAST.setEditable(false);

Так выглядит приложение

...