Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 1 - Úvod do formulářových aplikací v Java Swing

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Neaktivní uživatel:10.1.2023 6:49

Po spuštění aplikace se mi zobrazuje jen textový output, jak bude okení aplikace nakonec vypadat mi zobrazí pouze preview

Odpovědět
10.1.2023 6:49
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:10.1.2023 18:57

Vyřešeno. Je to proto, že mi Netbeans vytvořil dvě podsložky s main a v nabídce se neptal, která je hlavní řídící.

Odpovědět
10.1.2023 18:57
Neaktivní uživatelský účet
Avatar
Petr Jandal
Člen
Avatar
Petr Jandal:25.5.2023 12:08

Zaplatil jsem kredit 10 000kc na tento e-learning zatim z toho nemam dobry dojem. Je to dost matouci.
1] v teto kapitole se treba neupozorni, ze je treba editovat pom.xml file tak aby HlavniJFRame.java byla hlavni.
Protoze kdyz vytvarim projekt tak NETBEANS vytvori uvodni Java hello file.
Kdyz jej smazu, protoze v kapitole je obrazek jen se souborem HlavniJFrame.java, tak pom.xml se neupravi automaticky.

<properties>
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       <maven.compiler.source>1.8</maven.compiler.source>
       <maven.compiler.target>1.8</maven.compiler.target>
       <exec.mainClass>cz.itnetwork.HlavniJFrame</exec.mainClass>
   </properties>

2] v kapitole se ukazuje kod

public void run() {
    HlavniJFrame hlavniJFrame = new HlavniJFrame();
    ImageIcon icon = new ImageIcon(getClass().getResource("/ikona.png"));
    hlavniJFrame.setIconImage(icon.getImage());
}

Zdroj: https://www.itnetwork.cz/…od-poklickou: java/swing/za­klady/java-tutorial-swing-pod-poklickou
Jenze ve zdrojovem kodu ke stazeni je pak

public void run() {
    HlavniJFrame hlavniJFrame = new HlavniJFrame();
    hlavniJFrame.setLocationRelativeTo(null);
    ImageIcon icon = new ImageIcon(getClass().getResource("/ikona.png"));
    hlavniJFrame.setIconImage(icon.getImage());
    hlavniJFrame.setVisible(true);
}

Takze zmatek.

A pak to hazi error.
Running NetBeans Compile On Save execution. Phase execution is skipped and output directories of dependency projects (with Compile on Save turned on) will be used instead of their jar artifacts.
Scanning for projects...

---------------------< cz.itnetwork:Hlav­niJFrame >----------------------
Building HlavniJFrame 1.0
--------------------------------[ jar ]---------------------------------

--- exec-maven-plugin:3.1.0:exec (default-cli) @ HlavniJFrame ---
Exception in thread "AWT-EventQueue-0" java.lang.NullPo­interException
at javax.swing.I­mageIcon.<init>(I­mageIcon.java:217)
at cz.itnetwork.Hlav­niJFrame$1.run(Hlav­niJFrame.java:88)
at java.awt.even­t.InvocationE­vent.dispatch(In­vocationEvent­.java:311)
at java.awt.Even­tQueue.dispat­chEventImpl(E­ventQueue.java:758)
at java.awt.Even­tQueue.access$500(E­ventQueue.java:97)
at java.awt.Even­tQueue$3.run(E­ventQueue.java:709)
at java.awt.Even­tQueue$3.run(E­ventQueue.java:703)
at java.security­.AccessContro­ller.doPrivile­ged(Native Method)
at java.security­.ProtectionDo­main$JavaSecu­rityAccessImpl­.doIntersecti­onPrivilege(Pro­tectionDomain­.java:74)
at java.awt.Even­tQueue.dispat­chEvent(EventQu­eue.java:728)
at java.awt.Even­tDispatchThre­ad.pumpOneEven­tForFilters(E­ventDispatchThre­ad.java:205)
at java.awt.Even­tDispatchThre­ad.pumpEventsFor­Filter(EventDis­patchThread.ja­va:116)
at java.awt.Even­tDispatchThre­ad.pumpEventsFor­Hierarchy(Even­tDispatchThre­ad.java:105)
at java.awt.Even­tDispatchThre­ad.pumpEvents(E­ventDispatchThre­ad.java:101)
at java.awt.Even­tDispatchThre­ad.pumpEvents(E­ventDispatchThre­ad.java:93)
at java.awt.Even­tDispatchThre­ad.run(EventDis­patchThread.ja­va:82)

A zase vidim, pom.xml je jiny nez ten ktery mi vytvori NetBeans.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cz.itnetwork</groupId>
    <artifactId>HelloSwing2</artifactId>
    <version>0.1</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <mainClass>cz.itnetwork.HlavniJFrame</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Netbeans vytvori nasledujici pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cz.itnetwork</groupId>
    <artifactId>HlavniJFrame</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <exec.mainClass>cz.itnetwork.HlavniJFrame</exec.mainClass>
    </properties>
</project>
 
Odpovědět
25.5.2023 12:08
Avatar
Atrament
Tvůrce
Avatar
Odpovídá na Petr Jandal
Atrament:25.5.2023 13:21

Na pom.xml vůbec nesahej, pokud se tě Netbeans nezeptalo na to jakou main třídu chceš spustit, tak to nastav v Properties projektu na záložce Run. Přísahal bych že dřív se Netbeans opravdu ptalo tak jak je to v článku napsané, ale ted už to asi nedělá, tak já to info o tom do článku pak doplním.

 
Odpovědět
25.5.2023 13:21
Avatar
Petr Jandal
Člen
Avatar
Odpovídá na Atrament
Petr Jandal:25.5.2023 14:36

Moc dekuji za doplneni, uz mi to funguje.
Jeste v textu chybi pripomenuti, ze je treba importovat
import java.awt.Dimension;
import javax.swing.I­mageIcon;

Diky

 
Odpovědět
25.5.2023 14:36
Avatar
Jan Krupa
Člen
Avatar
Jan Krupa:15.7.2023 16:20

Při spouštění se to neptá ne hlavní třídu, je třeba buďto v záložce Run kliknout na Run File (když jste přepnutí na třídu HlavniJFrame) nebo třídu HlavniJFrame manuálně nastavit jako hlavní třídu projektu Run>Set Project Configuration > Customize > Run > Main Class. Ale nejsem žádný expert, třeba se to dá někde v Net Beans nastavit, aby se to ptalo.

 
Odpovědět
15.7.2023 16:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 26.