Aplikacje z GUI - problem z odrysowywaniem oknien

0

Witam serdecznie jestem samoukiem zacząłem się bawić z java doszedłem do GUI robie już któryś program prosty i często powtarza się problem ze gdy odpalam okienko pierwszy raz jest szare dopiero jak minimalnie rozciągne odświerza się i pojawiają sie w nim wszystkie elementy albo jak dam minimalizuj i maksymalizuj. Do tej pory mi to nie przeszkadzało ale robie teraz prosty program który po wciśnieciu przycisku otwiera drugie okno i zarówno pierwsze okno po odpaleniu trzeba zminimalizowac i przywrócić żżeby pokazało swoją treść tak samo okno otwierane po wciśnięciu przycisku nic nie pokazuje dopuki nie dam minimalizuj i maksymalizuj. Jest jakiś sposób żeby to w jakiś sposób poprawić ?

0

Nadpisujesz metody paint*?

1

Na pewno wywołujesz setVisible(true) dopiero po całkowitym skonstruowaniu okna?

0

Nie bylo tam nic z rysowanie tu jest jeden z programików który sie nie wyświetla od razu tylko trzeba minimalizować np nie patrz na to ze nie ma jeszcze akcji w przyciskach bo chodzi mi o samo wyświetlanie okienka

package badaniaOkresowe;   // Imie nazwisko, Badania okresowe , Badania psychotechniczne

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class Okno extends JFrame implements ActionListener
{
	private JPanel panel;
	private JLabel lSzukaj;
	private JLabel lPracownicy;
	private JTextArea taSzukaj;
	private JList lista;
	private JButton bDodaj;
	private JButton bUsuń;
	private JButton bSprawdź;
	private JButton bEdytuj;
	private JMenuBar menuBar;
	private JMenu menuPlik,menuPomoc,menuZapisz;
	private JMenuItem mZapisz,mOtwórz,mPomoc,mWyjscie,mZapiszJako;


    public Okno()
    {
//***************************OKNO*****************************
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Badania okresowe");
		setSize(700,450);
        setVisible(true);
        setLayout(null);
//***********************Pasek narzedzi*****************************
menuBar=new JMenuBar();

menuPlik=new JMenu("Plik");
menuPomoc=new JMenu("Pomoc");
menuZapisz=new JMenu("Zapisz");


setJMenuBar(menuBar);
menuBar.add(menuPlik);
menuBar.add(menuPomoc);


mZapisz=new JMenuItem("Zapisz");

mOtwórz=new JMenuItem("Otwórz");

mPomoc=new JMenuItem("Pomoc");

mWyjscie=new JMenuItem("Wyjscie");
mWyjscie.addActionListener(this);

mZapiszJako=new JMenuItem("Zapisz Jako");

menuZapisz.add(mZapisz);
menuZapisz.add(mZapiszJako);
menuPlik.add(menuZapisz);
menuPlik.add(mOtwórz);
menuPlik.addSeparator();
menuPomoc.add(mPomoc);
menuPlik.add(mWyjscie);

add(lSzukaj=new JLabel("Szukaj:"));
lSzukaj.setBounds(0,10,50,20);

taSzukaj=new JTextArea();
JScrollPane scroll=new JScrollPane(taSzukaj);
scroll.setBounds(50,10,620,35);
add(scroll);

lPracownicy=new JLabel("Pracownicy:");
lPracownicy.setBounds(300,50,100,20);
add(lPracownicy);

DefaultListModel model = new DefaultListModel();
lista = new JList(model);
JScrollPane scroll2 = new JScrollPane(lista);
scroll2.setBounds(10,70,660,270);
add(scroll2);

bDodaj=new JButton("Dodaj Pracownika");
bDodaj.setBounds(25,345,150,20);
add(bDodaj);


bUsuń=new JButton("Usun Pracownika");
bUsuń.setBounds(185,345,150,20);
add(bUsuń);

bSprawdź=new JButton("Sprawdz");
bSprawdź.setBounds(345,345,150,20);
add(bSprawdź);

bEdytuj=new JButton("Edytuj Pracownika");
bEdytuj.setBounds(505,345,150,20);
add(bEdytuj);

    }

public void actionPerformed(ActionEvent e)
{
	Object z=e.getSource();

	if (z==mWyjscie)
	{
		dispose();
	}
}

    public static void main (String[] arc)
    {
Okno o=new Okno();
    }
}

dodanie znaczników <code class="java"> oraz usunięcie kilku zbędnych pustych linii z kodu - fp

0

Dzięki bogdans gubie sie jeszcze w takich detalach mialem to na poczatku w konstruktorze wielkie dzieki temat do zamkniecia:)

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