JFrame nie wyświetla pól

Odpowiedz Nowy wątek
2019-05-28 20:13
0

Napisałem sobie prosty przelicznik, niestety Eclipse przy kompilacji nie wyświetla mi wszystkich pól - przy kilku próbach odpalenia w okienku wyświetla się jedno lub kilka pól, nigdy wszystkie. Prośba o jakieś wskazówki.

package frame;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JButton;

public class MyFrame extends JFrame {

    public MyFrame() {
        super("Hello World");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        setSize(600,400);

        JPanel panel = new JPanel();
        panel.setLayout(null);
        add(panel);

        JLabel korony = new JLabel("korony czeskie");
        korony.setBounds(10,10,100,30);
        panel.add(korony);

        JTextArea fieldtxt1 = new JTextArea();
        fieldtxt1.setBounds(10,60,100,30);
        panel.add(fieldtxt1);

        JLabel zlotowki = new JLabel("złotówki");
        zlotowki.setBounds(10,110,100,30);
        panel.add(zlotowki);

        JTextArea fieldtxt2 = new JTextArea();
        fieldtxt2.setBounds(10,160,100,30);
        panel.add(fieldtxt2);

        JButton button = new JButton("konwertuj");
        button.setBounds(10,210,100,30);
        panel.add(button);

    }
}

Pozostało 580 znaków

2019-05-28 21:28
0

A jakbyś dał setVisible(true); na końcu metody?

Pozostało 580 znaków

2019-05-28 21:57
0

Mam to w oddzielnym pliku

package frame;

public class FrameTest {
    public static void main(String args[]) {
        new MyFrame().setVisible(true);
    }
}

Okienko niby działa, wyświetla się, ale nie wyświetlają się wszystkie elementy.

Chodziło mi o to, że w metodzie Main() wołać to na końcu. - szweszwe 2019-05-28 22:04

Pozostało 580 znaków

2019-05-29 04:52

Czy add(panel);
Nie powinno być dopiero po dodaniu wszystkich komponentów do panel ?


Każdy programista przybywający z innego miasta jest fachowcem.

Pozostało 580 znaków

2019-05-29 20:34
0

Rzeczywiście przeniosłem add(panel); na koniec i teraz działa poprawnie, dzięki :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 0, botów: 1

Robot: CCBot