Problém pri spuštaní – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problém pri spuštaní – Java – Fórum – Programujte.comProblém pri spuštaní – Java – Fórum – Programujte.com

 

DeniLeet
~ Anonymní uživatel
3 příspěvky
21. 7. 2013   #1
-
0
-

Nazdar.Vytvoril som si aplikáciu v java swingu a mam taký problém , že pri spustení cez jar file a vlastne niekedy aj pri spustení cez netbeans zmiznú všetky tlačítka , ale pri opätovnom spustení je všetko v poriadku.Čo môže byť problém ?

Nahlásit jako SPAM
IP: 217.12.59.–
Mips0
Duch
22. 7. 2013   #2
-
0
-

Ta tlačítka se vůbec nezobrazí nebo se nejdříve zobrazí a pak zase zmizí?

Napadají mě jen tři věci:

  • problém s vlákny - celé GUI má být ovládáno z AWT event-dispatch threadu
  • problém ve spolupráci JVM a OS/ovladače grafické karty
  • problém s umístěmí tlačítek v okně (jakým způsobem je jejich pozice určena?)

Nahlásit jako SPAM
IP: 84.42.164.–
DeniLeet
~ Anonymní uživatel
3 příspěvky
23. 7. 2013   #3
-
0
-

#2 Mips
Nezobrazujú sa vôbec.Používam GridLayout čiže problém by nemal byť vtom.Čudné je to,že niekedy to funguje niekedy nie a skúšal som to na viacerých PC,všade rovnaký problém.

Nahlásit jako SPAM
IP: 217.12.59.–
Mips0
Duch
23. 7. 2013   #4
-
0
-

#3 DeniLeet
Můžete to okno/formulář zjednodušit úplně na kost (tj. vyházet nepotřebné věci, aby zbyla jen definice rozložení prvků) a vyzkoušet? Jestli to ani tak nepomůže, tak sem zkuste dát ten zjednodušený zdroják (díky tomu zjednodušení měl by být krátký).

Nahlásit jako SPAM
IP: 62.168.12.–
DeniLeet
~ Anonymní uživatel
3 příspěvky
23. 7. 2013   #5
-
0
-

#4 Mips
JFrame frame = new JFrame("DLGame");
        frame.setVisible(true);
        frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(800,600);
        frame.setLayout(new GridLayout(25,18));
        final JButton[][] button = new JButton[25][18];
        for(int i=0;i<25;i++){
            for(int j=0;j<18;j++){
              button[i][j] = new JButton(clickstart);  
            }
        
        }
        for(int i=0;i<25;i++){
            for(int j=0;j<18;j++){
            frame.add(button[i][j]);
            }
        }

Sranda je to , že po spustení debuggerom to funguje 

Nahlásit jako SPAM
IP: 217.12.59.–
Mips0
Duch
24. 7. 2013   #6
-
0
-

#5 DeniLeet
Když se aplikace spustí pod debuggerem, změní se oproti běhu bez debuggeru mimo jiné tyto věci:

  • nastavení JVM (optimalizace, ...)
  • časování - tj. mohou se projevit či naopak skrýt chyby v práci s vlákny

Pro začátek bych zkusil spustit tu aplikaci mimo debugovací režim, ale s přepínačem -J-Dsun.java2d.noddraw=true. Ten způsobí, že JVM nebude pro vykreslování používat DirectDraw (ve Windows).

Co se týká toho zdrojáku: Už je to asi 5 let, co jsem ve Swingu naposledy programoval, ale vybavuji si, že komponenty se nedávaly přímo do Frame, ale do jeho content-pane. Tedy místo frame.add(button) se psalo frame.getContentPane().add(button). Případně se vytvořil JPanel a ten se potom nastavil jako content-pane toho Frame (frame.setContentPane(panel)). To platí i pro layout - tedy layout by se neměl nastavovat přímo na Frame, ale na jeho content-panel.

A ještě jedna věc: Ten Frame bych zobrazoval (setVisible(...)) až poté, co je kompletně nastavený.

A ještě připomenutí: Celý ten váš kód by měl běžet ve vlákně pro zpracování událostí (AWT-event-queue thread?).

Nahlásit jako SPAM
IP: 94.112.200.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 37 hostů

Podobná vlákna

Problem pri prekladu — založil Erik

Problem pri kompilacii — založil Tayson

Problém při spojení s DB — založil TomasUL

Problém při dělení — založil Jan Svatoň

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý