Как правильно расположить кнопку и сохранить все введенные пользователем данные в текстовое поле? - PullRequest
0 голосов
/ 09 мая 2019

Так что я не знаю, как расположить кнопку отправки так, чтобы она находилась под текстовым полем, и при первом запуске окно открывается очень маленьким. Также getText не работает при нажатии кнопки отправки.

Я пробовал .putConstraint (), но ничего не сделал для позиционирования кнопки.

/ ** * Напишите описание класса Springdemo1 здесь. * * @author (ваше имя) * @version (номер версии или дата) * / открытый класс Springdemo1 { public Springdemo1 () { в этом(); }

    public static void init()
    {
        JFrame f = new JFrame ("Answer Box");       
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container contentPane = f.getContentPane();
        SpringLayout layout = new SpringLayout();
        f.getContentPane().setLayout(layout);
        JLabel label = new JLabel("Enter answer here: ");
        JPanel p = new JPanel (new SpringLayout());
        f.add(p);
        p.add(label);
       JTextArea textfield = new JTextArea ("",5, 5);
       label.setLabelFor(textfield);

       JButton button = new JButton("Submit");
       p.add(new JLabel());

       layout.putConstraint(SpringLayout.WEST, contentPane,  
        10, SpringLayout.WEST, textfield); 

    layout.putConstraint(SpringLayout.NORTH, contentPane,  
        10, SpringLayout.NORTH, textfield); 
    layout.putConstraint(SpringLayout.EAST, contentPane,  
        10, SpringLayout.EAST, textfield); 

    layout.putConstraint(SpringLayout.SOUTH, contentPane,  
        10, SpringLayout.SOUTH, textfield); 

    p.add(textfield);

   layout.putConstraint(SpringLayout.SOUTH, f.getContentPane(),                30, SpringLayout.SOUTH, button);
    layout.putConstraint(SpringLayout.EAST, f.getContentPane(), 100, SpringLayout.EAST, button);
    layout.putConstraint(SpringLayout.NORTH, f.getContentPane(), 100, SpringLayout.NORTH, button);
    //layout.putConstraint(SpringLayout.WEST, contentPane, 30, SpringLayout.WEST, button);

    p.add(button);
    button.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e)
            {

                System.out.println(label+"->"+textfield.getText());
            }
        });  
    JFrame frame = new JFrame("Answer Box");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //Set up the content pane.
    p.setOpaque(true);  //content panes must be opaque
    frame.setContentPane(p);

    //Display the window.
    frame.pack();
    frame.setVisible(true);

}

public static void main(String[] args) {

        init();
}

}

Я ожидаю, что кнопка будет находиться под учебником, и когда нажата кнопка отправки, я бы хотел сохранить все, что находится в текстовом поле, в переменную.

...