Anonymní profil deli – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil deli – Programujte.comAnonymní profil deli – Programujte.com

 

Příspěvky odeslané z IP adresy 193.85.210.–

deli
Java › StackOverflowError
21. 6. 2009   #110890

To Quiark : Vedie ma k tomu moja nedôkladnosť :-). Musím si zvykať robiť veci poriadne a nie hala-bala, čiže to je ten dôvod, prečo to chcem spraviť nanovo.

deli
Java › StackOverflowError
20. 6. 2009   #110843

To Quiark : Vo výpise stále pendluje medzi konštruktorom Mesh() a initComponents(). Ale vzdávam to, musím to spraviť celé na novo. Každopádne ti veľmi pekne ďakujem za čas a námahu.

deli
Java › StackOverflowError
20. 6. 2009   #110840

To Quiark : Presne tak to myslím. Avšak, kde mám umiestniť vytvorenie inštancie triedy Mesh? Nech ho do triedy PlayField umiestnim hocikde, vyhadzuje to rovnakú chybu.

deli
Java › StackOverflowError
20. 6. 2009   #110838

To Zerog : Len tu a tam :-).

deli
Java › StackOverflowError
20. 6. 2009   #110836

To Quiark : Moja chyba :-(.

A ešte by som sa chcel spýtať, napríklad chcem presunúť metódu createMesh z PlayField do triedy Mesh.

Chcem podoktnúť, že metóda createMesh vytvára komponenty do gridLayoutu JPanelu, takže po jeho vytvorení ich tam chcem pridať.

A chcem sa spýtať, akým spôsobom túto metódu zavolať. Keď dám do triedy (po vytvorení JPanelu) objekt, ktorý volá konštruktor triedy Mesh, v ktorom je zavolanie metódy createMesh() (tá by mala do tohto JPanelu pridať komponenty), program vyhodí rovnakú chybu ako som popisoval v prvom príspevku.

Čo robím v tomro prípade zle?

deli
Java › StackOverflowError
20. 6. 2009   #110833

Zdravím,

Narazil som na nasledovný problém. Mám funkčnú triedu PlayField, ktorá, keď obsahuje Main() pracuje správne. Avšak, akonáhle chcem túto triedu zavolať zo samostatnej triedy Main (samozrejme odstráním tú, čo je v PlayField) tak dostanem exception StackOverflowError.

Volám ju takto:
PlayField play = new PlayField();

Konštruktor PlayFieldu:
public PlayField() {
run();
initComponents();
}

run():
public void run() {
new PlayField().setVisible(true);
}

Výpis z exceptionu vyzerá, ako keby sa táto metóda volal stále a stále od znova, avšak bez nejakej akcie, nič sa nevykonáva.


at java.awt.Window.init(Window.java:370)
at java.awt.Window.<init>(Window.java:408)
at java.awt.Frame.<init>(Frame.java:402)
at java.awt.Frame.<init>(Frame.java:367)
at javax.swing.JFrame.<init>(JFrame.java:163)
at lode.PlayField.<init>(PlayField.java:28)
at lode.PlayField.run(PlayField.java:100)
at lode.PlayField.<init>(PlayField.java:29)
at lode.PlayField.run(PlayField.java:100)
at lode.PlayField.<init>(PlayField.java:29)


Vyskúšal som už snáď všetko, čo je v mojich silách. Budem rád, za každú pomoc.

 

 

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