dodání ihned! nové
Hledáme programátora do rostoucího týmu ITnetwork.cz, 100% home office, 100% flexibilní pracovní doba. Více informací
Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
BF
Avatar
weverka
Člen
Avatar
weverka:11.12.2020 10:53

Ahoj, snažím se zprovoznit Java Swing, ale když spustím program tak se mi ukáže okénko s výběrem tříd, ale je tam jen

<no main classes found

Zkusil jsem: Vytvořit projekt s hlavní třídou

Chci docílit: Zprovoznění programu

Odpovědět
11.12.2020 10:53
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Atrament:11.12.2020 12:31

Máš tam někde main metodu?

 
Nahoru Odpovědět
11.12.2020 12:31
Avatar
weverka
Člen
Avatar
weverka:11.12.2020 13:09

Posílám PrintScreen, protože nevím jak to vysvětlit

Nahoru Odpovědět
11.12.2020 13:09
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:11.12.2020 13:29

Chybí ti v projektu metoda main, smázni ten JPanel formulář Ja.java a místo něj vytvoř JFrame formulář, ten ti vytvoří metodu main a pak to půjde spustit.

Editováno 11.12.2020 13:30
 
Nahoru Odpovědět
11.12.2020 13:29
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na Atrament
Atrament:11.12.2020 23:41

Chtěl jsem tě odkázat na článek https://www.itnetwork.cz/…plikace-uvod, ale všiml jsem si že už ses tam ptal se stejným problémem. Aspoň jsem si ale ověřil, kde děláš chybu - je to v tom druhém kroku, hned po vytvoření nového projektu, když ten článek říká 'Na vytvořený projekt klikneme v oknu Projects pravým tlačítkem a přidáme nový JFrame form.' tak tys tam vybral JPanel místo JFrame. JPanel nevytváří tu main metodu, zatímco JFrame ji vytváří. Takže jak jsem říkal, smaž to co máš a zkus to znova a dej si na to pozor a bude to fungovat.

 
Nahoru Odpovědět
11.12.2020 23:41
Avatar
weverka
Člen
Avatar
Odpovídá na Atrament
weverka:12.12.2020 10:09

Zkusil jsem to, vytvořil jsem nový projekt a přidal jsem JFrame form ale vyskočila ta samá chyba

Nahoru Odpovědět
12.12.2020 10:09
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:12.12.2020 14:37

Ukaž celý zdroják toho souboru co to vytvořilo

 
Nahoru Odpovědět
12.12.2020 14:37
Avatar
weverka
Člen
Avatar
weverka:12.12.2020 14:38

Myslíš kód toho JFrame form?

Nahoru Odpovědět
12.12.2020 14:38
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:12.12.2020 14:56

No celého toho souboru co to vytvořilo, vytvořilo to jenom jeden ne?

 
Nahoru Odpovědět
12.12.2020 14:56
Avatar
weverka
Člen
Avatar
weverka:12.12.2020 15:15

Jo

public class NewJFrame extends javax.swing.JFrame {

    /** Creates new form NewJFrame */
    public NewJFrame() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
    private void initComponents() {

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );
        pack();
    }
    // </editor-fold>

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    // End of variables declaration

}
Nahoru Odpovědět
12.12.2020 15:15
Weby jsou budoucnost IT
Avatar
weverka
Člen
Avatar
Odpovídá na weverka
weverka:12.12.2020 15:18

Ještě tam je licenční hlavička, ale tu asi nepotřebuješ co?

Nahoru Odpovědět
12.12.2020 15:18
Weby jsou budoucnost IT
Avatar
weverka
Člen
Avatar
weverka:12.12.2020 15:29

Ježiši tohle mi to nedalo má to být:

public class NewJFrame12 extends javax.swing.JFrame {

    /** Creates new form NewJFrame12 */
    public NewJFrame12() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
    private void initComponents() {

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );
        pack();
    }
    // </editor-fold>

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(NewJFrame12.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(NewJFrame12.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(NewJFrame12.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(NewJFrame12.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame12().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    // End of variables declaration

}
Nahoru Odpovědět
12.12.2020 15:29
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Atrament:12.12.2020 15:43

Tak metoda main tam je, tak to musí běžet, zkus Shift+F6 co se stane.
Případně vlevo v 'Projects' klikni pravým tlačítkem na projekt a vyber úplně dole 'Properties' a tam pak na záložce 'Run' nastav 'Main Class' na to NewJFrame12

 
Nahoru Odpovědět
12.12.2020 15:43
Avatar
weverka
Člen
Avatar
weverka:12.12.2020 15:48

Když chci nastavit Main class Tak mi to opět ukáže <no main classes found>

Nahoru Odpovědět
12.12.2020 15:48
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Atrament:12.12.2020 16:07

To není možné :) Zkus v menu Run dát Clean and Build project a pak to zkus znova

 
Nahoru Odpovědět
12.12.2020 16:07
Avatar
weverka
Člen
Avatar
Odpovídá na Atrament
weverka:12.12.2020 16:08

Nefunguje :-(

Nahoru Odpovědět
12.12.2020 16:08
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Atrament:12.12.2020 16:10

Mohl bych poprosit ještě o jeden screenshot? Tak aby tam byl vidět otevřený ten projekt? Něco jako ten druhý screen co už jsi tu dával?

 
Nahoru Odpovědět
12.12.2020 16:10
Avatar
weverka
Člen
Avatar
Odpovídá na Atrament
weverka:12.12.2020 16:12

Tady ho máš

Nahoru Odpovědět
12.12.2020 16:12
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Atrament:12.12.2020 16:22

A co se stane, když v Projects klikneš pravým tlačítkem na NewJFrame12.java a dáš Run file?

 
Nahoru Odpovědět
12.12.2020 16:22
Avatar
weverka
Člen
Avatar
Odpovídá na Atrament
weverka:12.12.2020 16:26

Napíše to: Class "NewJFrame12" does not have a main method

Nahoru Odpovědět
12.12.2020 16:26
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:12.12.2020 16:32

Tak z toho jsem jelen, podle toho cos postoval výše ji tam ale máš! Hele asi bych zkusil ten Netbeans komplet odinstalovat a nainstalovat znova, rovnou bych stáhnul novější verzi, minulý týden vyšla verze 12.2 a zkusil bych to znova. Tam bude něco shnilého v tom Netbeans...

 
Nahoru Odpovědět
12.12.2020 16:32
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
weverka
Člen
Avatar
weverka:12.12.2020 16:37

Ok hned jdu na to.

Nahoru Odpovědět
12.12.2020 16:37
Weby jsou budoucnost IT
Avatar
weverka
Člen
Avatar
weverka:12.12.2020 17:25

Nainstaloval jsem, ale když vytvářím projekt tak mi to řekne: java.lang.reflec­t.InvocationTar­getException

Nahoru Odpovědět
12.12.2020 17:25
Weby jsou budoucnost IT
Avatar
weverka
Člen
Avatar
Odpovídá na weverka
weverka:12.12.2020 17:27

a nebo mi to složku vytvoří ale neotevře.

Nahoru Odpovědět
12.12.2020 17:27
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Atrament:12.12.2020 17:33

Ok tak udělejme takový úkrok stranou, podívej se na tenhle článek https://www.itnetwork.cz/…ova-aplikace a zkus nainstalovat Javu a Netbeans krok za krokem tak jak je to v něm popsané a zprovoznit ten Hello world projekt, co to udělá...

 
Nahoru Odpovědět
12.12.2020 17:33
Avatar
weverka
Člen
Avatar
Odpovídá na Atrament
weverka:12.12.2020 17:39

Ok, ale až zítra

Nahoru Odpovědět
12.12.2020 17:39
Weby jsou budoucnost IT
Avatar
weverka
Člen
Avatar
weverka:13.12.2020 9:46

Já jsem smolař, přeinstaluju netbeans a Javu, objeví se mi prázdný okno viz. screenshot

Nahoru Odpovědět
13.12.2020 9:46
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:13.12.2020 11:22

Odinstaloval jsi napřed všechny verze Javy a Netbeans které jsi předtím nainstaloval? Zkus to ještě jednou, napřed se ujisti že jsi odinstaloval všechnu Javu a všechny Netbeans, pak pro jistotu zajdi ve svém domovském adresáři do adresářů AppData\Local a AppData\Roaming a v nich smaž adresář netbeans, pokud tam nějaký bude. Taky se ujisti že máš nainstalované všechny Windows updaty a pro jistotu ještě jednou restartuj celý počítač (nemyslím si opravdu že by to mohlo něco ovlivnit, ale nic za to nedáš :) )

Pak teprve zkus znova nainstalovat Javu a Netbeans, přesně podle článku který jsem odkazoval výše. Pokud to ani pak nebude fungovat tak pak nevím :( Leda zkusit jiné IDE, třeba Intellij Idea Comunnity Edition https://www.jetbrains.com/idea/download/#…

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
13.12.2020 11:22
Avatar
weverka
Člen
Avatar
weverka:13.12.2020 12:07

Díky moc, když jsem vytvořil projekt a spustil ho stejná chyba, dám clean and build a potom projekt spustím okamžitě vyletí okno s textem Hello World! :-)

Nahoru Odpovědět
13.12.2020 12:07
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:13.12.2020 12:11

Super, a jde ti teda tedka vytvořit i to JFrame okno a spustit?

 
Nahoru Odpovědět
13.12.2020 12:11
Avatar
weverka
Člen
Avatar
weverka:13.12.2020 12:11

Jasně o tom mluvím

Nahoru Odpovědět
13.12.2020 12:11
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:13.12.2020 12:15

Aha ok já myslel že mluvíš o tom konsolovém Hello world, tak super, že se to povedlo vyřešit...

 
Nahoru Odpovědět
13.12.2020 12:15
Avatar
weverka
Člen
Avatar
weverka:13.12.2020 17:01

Mám ještě problém mimo, jak přidám do aplikace ikonu?

Nahoru Odpovědět
13.12.2020 17:01
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:14.12.2020 12:38

O tom se píše ve čtvrté lekci https://www.itnetwork.cz/…rh-formularu

 
Nahoru Odpovědět
14.12.2020 12:38
Avatar
weverka
Člen
Avatar
Odpovídá na Atrament
weverka:14.12.2020 14:21

Myslím ikonu celé aplikace, kód ve druhé lekci nefunguje.

Nahoru Odpovědět
14.12.2020 14:21
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:14.12.2020 15:37

Ukaž kód, který ti nefunguje a co to vypíše, když se ho pokusíš pustit.

 
Nahoru Odpovědět
14.12.2020 15:37
Avatar
weverka
Člen
Avatar
weverka:14.12.2020 15:55
ImageIcon icon = new ImageIcon(getClass().getResource("/ikona.png"));
    hlavniJFrame.setIconImage(icon.getImage());

a vypíše to:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.net.URL.toExternalForm()" because "location" is null
        at java.desktop/javax.swing.ImageIcon.<init>(ImageIcon.java:217)
        at HlavniJFrame$1.run(HlavniJFrame.java:94)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
BUILD SUCCESSFUL (total time: 11 seconds)

Okno se zobrazí, ale bez ikony

Nahoru Odpovědět
14.12.2020 15:55
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:14.12.2020 16:29

Ukaž celou tu metodu main. A máš ten soubor 'ikona.png' ve správném adresáři?

 
Nahoru Odpovědět
14.12.2020 16:29
Avatar
weverka
Člen
Avatar
weverka:14.12.2020 17:17

soubor "ikona.png" mám ve složce src a kód je zde:

import javax.swing.ImageIcon;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author janpi
 */
public class HlavniJFrame extends javax.swing.JFrame {

    /**
     * Creates new form HlavniJFrame
     */
    public HlavniJFrame() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jLabel1.setText("Pozdrav z formuláře");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(70, 70, 70)
                .addComponent(jLabel1)
                .addContainerGap(76, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(72, Short.MAX_VALUE)
                .addComponent(jLabel1)
                .addGap(68, 68, 68))
        );

        pack();
    }// </editor-fold>

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(HlavniJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(HlavniJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(HlavniJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(HlavniJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {

                HlavniJFrame hlavniJFrame = new HlavniJFrame();
                hlavniJFrame.setLocationRelativeTo(null);
                hlavniJFrame.setVisible(true);
                hlavniJFrame.setResizable(true);
                hlavniJFrame.setMinimumSize(hlavniJFrame.getSize());
                ImageIcon icon = new ImageIcon(getClass().getResource("/ikona.png"));
                hlavniJFrame.setIconImage(icon.getImage());


            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JLabel jLabel1;
    // End of variables declaration
}
Nahoru Odpovědět
14.12.2020 17:17
Weby jsou budoucnost IT
Avatar
weverka
Člen
Avatar
Odpovídá na weverka
weverka:14.12.2020 17:22

Ještě u řádku

ImageIcon icon = new ImageIcon(getClass().getResource("/ikona.png"));

mám žárovku s červeným kroužkem a tam je: cannot find symbol
symbol: class ImageIcon

Nahoru Odpovědět
14.12.2020 17:22
Weby jsou budoucnost IT
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na weverka
Atrament:14.12.2020 17:37

Divný, podle mně by to mělo fungovat, zkouším to tedka u sebe a v pohodě to jede, zkus jestli nepomůže Clean and Build...

 
Nahoru Odpovědět
14.12.2020 17:37
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 41 zpráv z 41.