Java как заставить JFormattedTextField плавать или выравнивать в крайнее левое положение? - PullRequest
0 голосов
/ 04 мая 2020

Я делаю GUI, где сверху вопрос, а под ним JFormattedTextField. Дело в том, что поле ввода начинается в центре окна, выглядит очень неловко. Я хочу, чтобы это началось с левого края. Вот код, я обдумал попытку исправить его и не уверен, почему он не работает. Также хочу выровнять кнопку (randomBtn) по левому краю, она появляется в центре.

        JFrame gridPrompt = new JFrame("Select The Size of The Grid");
        JLabel labelOne = new JLabel("Please Enter A Number Between 1-10 Below:");
        JButton randomBtn = new JButton("Random");
        JFormattedTextField rowsInput = new JFormattedTextField(NumberFormat.getNumberInstance());

        //Makes the input box 10 columns wide
        rowsInput.setColumns(10);

        gridPrompt.setLayout(new GridBagLayout());
        GridBagConstraints layoutObj = new GridBagConstraints();
        layoutObj.gridx = 0;
        layoutObj.gridy = 0;
        layoutObj.insets = new Insets(5, 5, 5, 5);
        gridPrompt.add(labelOne, layoutObj);

        layoutObj.gridx = 0;
        layoutObj.gridy = 1;
        layoutObj.insets = new Insets(5, 5, 5, 5);
====>>> rowsInput.setHorizontalAlignment(JTextField.LEFT); <<<======= THIS LINE DOESNT DO ANYTHING
        gridPrompt.add(rowsInput, layoutObj);

        //Button configuration
        layoutObj.gridx = 0;
        layoutObj.gridy = 2;
        layoutObj.insets = new Insets(5, 5, 5, 5);
        gridPrompt.add(randomBtn, layoutObj); <<======== I WANT THIS TO FLOAT LEFT TOO
...