Окно JTextField не появляется - PullRequest
0 голосов
/ 27 июня 2018

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

/**
 *
 * @author Tsiatas
 */
import javax.swing.*;


public class MyFrame extends JFrame {

    private JPanel panel;
    private JTextField textField;
    private JButton button;

    public MyFrame() {
        panel = new JPanel();
        textField = new JTextField();
        panel.add(textField);
        button = new JButton("press me");

        panel.add(button);
        this.setContentPane(panel);
        this.setVisible(true);
        this.setSize(800, 400);
        this.setTitle("My first test frame");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
}

1 Ответ

0 голосов
/ 27 июня 2018

Вам не хватает явной настройки предпочтительного размера текстового поля. Приведенный ниже код будет работать следующим образом:

import javax.swing.*;

public class MyFrame extends JFrame {

   private JPanel panel;
   private JTextField textField;
   private JButton button;

   public MyFrame() {
       panel = new JPanel();
       textField = new JTextField();
       textField.setPreferredSize(new Dimension(200, 20)); // This is the added line
       panel.add(textField);
       button = new JButton("press me");

       panel.add(button);
       this.setContentPane(panel);
       this.setVisible(true);
       this.setSize(800, 400);
       this.setTitle("My first test frame");
       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

   }
}

Для изменения позиционирования вам нужно будет использовать макет на JPanel. Каждый макет имеет свою особую конфигурацию.

...