Второй JPanel и JTexField выглядят слишком тесными - PullRequest
0 голосов
/ 26 мая 2020

У меня есть приложение, в котором я использую две панели JPanel. Один из них - PaintPanel. Вторая панель, jtextfield и jtextarea работают нормально, но они выглядят слишком тесными с правой стороны. Я попытался изменить размеры с помощью setSize (), но это не сработало.

Код для панели рисования

public void center() {
        jpCenter = new PaintPanel();
        jpCenter.addMouseListener(this);
        jpCenter.setSize(100, 100);
        jpCenter.setBackground(Color.white);
        add(jpCenter, BorderLayout.CENTER);
    }

Код для панели чата

public void east() {

        // CREATE EAST Panel
        gl = new GridLayout(4, 1);
        jpEast = new JPanel();
        jpEast.setSize(200, 200);
        jpEast.setLayout(gl);
        jpEast.setBackground(Color.white);

        label = new JLabel("Number of shapes: ");
        jpEast.add(label);
        // ADD TEXT FIELD
        jtf = new JTextField();
        jtf.setText("");
        jtf.setSize(200, 200);
        jpEast.add(jtf);

        // ADD BUTTON
        jbSend = new JButton("Send");
        jbSend.setEnabled(false);
        jbSend.setSize(20, 60);
        jpEast.add(jbSend);
        jbSend.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                send(jtf.getText());
                jtf.setText("");
            }
        });

        // ADD TEXT AREA
        jta = new JTextArea("");
        jta.setSize(100, 100);
        jpEast.add(jta);

        // ADD EAST panel
        add(jpEast, BorderLayout.EAST);
    }

enter image description here enter image description here

1 Ответ

1 голос
• 1000 Также обратите внимание, что большинство менеджеров компоновки даже не уважают размер компонента, а предпочитают его предпочтительный размер. column свойство вашего JTextField, размеры шрифтов других компонентов (если необходимо). Затем разрешите менеджерам компоновки вашего контейнера (JPanel) и собственным предпочтительным размерам компонентов соответствующим образом размер, когда вы вызываете pack() в вашем окне верхнего уровня (часто JFrame), после добавления всех компонентов, но перед установкой его видимым.

Для получения более подробной c помощи рассмотрите возможность публикации изображения GUI, которое вы получаете, вместо того, которое вы пытаетесь достичь.

...