Frame öffnet aber zeigt keinen Inhalt...

Tausendsassa

Aktives Mitglied
Hallo, ich bin es mal wieder.
Also so bald ich ein gewisses Frame in meinem Programm aufrufe, wird es zwar angezeigt aber einfach nur der Titel und sonst eine weiße Fläche... Es ist auf jeden Fall etwas enthalten in der Gui aber naja. Also ich wollte euch fragen ob ihr mir irgend wie sagen könnt was mit dem Frame los ist...
Java:
private void onDamageEnemy(java.awt.event.ActionEvent evt)
    {                                 
        if(first == true)
        {
            first = false;
            t1.start();
        }
        String temp = taOut.getText();
        double ober = dmg + (lv * 2.3206);
        double unter = dmg - (lv * 2.3206);
        int tempLastHp = aktuelleHP;
        schaden = rand.nextInt((int) ober - (int) unter) + (int) unter;
        schaden++;
        aktuelleHP -= schaden;
        if(aktuelleHP <= 0)
        {
            btEnemy.setEnabled(false);
            stopThread();
            pbHpEnemy.setValue(0);
            tfHpEnemy.setText("0 /" + eHp);
            taOut.setText(temp + name + " --> Gegner: " + (tempLastHp) + "\n");
            temp = taOut.getText();
            taOut.setText(temp + name + " hat Gegner besiegt!!\n");
            btEnemy.setEnabled(false);
            eHp = FightData.gethpEnemySave();
            GUIWin obj = new GUIWin(); // Das besagte Frame
            obj.setVisible(true);
            boolean end = false;
            while(end == false)
            {
                end = FightData.getEnd();
            }
            this.dispose();
        }
        else
        {
            if(first2 == true)
            {
                first2 = false;
                try
                {
                    Thread.sleep(200);
                }
                catch(InterruptedException ex)
                {
                    Logger.getLogger(GUIFight.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            pbHpEnemy.setValue(aktuelleHP);
            tfHpEnemy.setText(aktuelleHP + "/" + eHp);
            taOut.setText(temp + name + " --> Gegner: " + schaden + "\n");
            btEnemy.setEnabled(false);
            Thread t2 = new Thread(new pauseButton());
            t2.start();
        }
    }
Java:
    private static int eStr = FightData.getEnemyStrength();
    public GUIWin()
    {
        initComponents();
        setLocationRelativeTo(null);
        if(eStr == 1)
        {
            ChangeTxt obj2 = new ChangeTxt();
            GetElementAtTxt obj3 = new GetElementAtTxt();
            try
            {
                String[] temp = obj3.getElementAt(10);
                int out = Integer.parseInt(temp[10]) + 50;
                obj2.changeTxt(temp, 10, out + "");
                String[] temp2 = obj3.getElementAt(3);
                int out2 = Integer.parseInt(temp2[3]) + 2;
                obj2.changeTxt(temp2, 3, out2 + "");
            }
            catch(IOException ex)
            {
                Logger.getLogger(GUIEnemyStrength.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        else if(eStr == 2)
        {
            ChangeTxt obj2 = new ChangeTxt();
            GetElementAtTxt obj3 = new GetElementAtTxt();
            try
            {
                String[] temp = obj3.getElementAt(9);
                int out = Integer.parseInt(temp[10]) + 100;
                obj2.changeTxt(temp, 9, out + "");
                String[] temp2 = obj3.getElementAt(3);
                int out2 = Integer.parseInt(temp2[3]) + 5;
                obj2.changeTxt(temp2, 3, out2 + "");
            }
            catch(IOException ex)
            {
                Logger.getLogger(GUIEnemyStrength.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        else
        {
            ChangeTxt obj2 = new ChangeTxt();
            GetElementAtTxt obj3 = new GetElementAtTxt();
            try
            {
                String[] temp = obj3.getElementAt(9);
                int out = Integer.parseInt(temp[10]) + 150;
                obj2.changeTxt(temp, 9, out + "");
                String[] temp2 = obj3.getElementAt(3);
                int out2 = Integer.parseInt(temp2[3]) + 7;
                obj2.changeTxt(temp2, 3, out2 + "");
            }
            catch(IOException ex)
            {
                Logger.getLogger(GUIEnemyStrength.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
Dankbar für jede Hilfe Tausendsassa
 
Das ist eine von Netbeans generierte Funktion auf die ich nicht wirklich einfluss nehmen kann...

Java:
private void initComponents()
    {
        java.awt.GridBagConstraints gridBagConstraints;

        jPanel1 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
        setTitle("Gewonnen");

        jPanel1.setLayout(new java.awt.GridBagLayout());

        jLabel3.setFont(new java.awt.Font("Trajan Pro", 1, 36)); // NOI18N
        jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel3.setText("Gewonnen!!!");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 21;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        jPanel1.add(jLabel3, gridBagConstraints);

        jLabel2.setFont(new java.awt.Font("Trajan Pro", 1, 36)); // NOI18N
        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel2.setText("du hast");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 87;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        jPanel1.add(jLabel2, gridBagConstraints);

        jLabel1.setFont(new java.awt.Font("Trajan Pro", 1, 36)); // NOI18N
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("Glückwunsch");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        jPanel1.add(jLabel1, gridBagConstraints);

        jButton1.setText("Weiter");
        jButton1.addActionListener(new java.awt.event.ActionListener()
        {
            public void actionPerformed(java.awt.event.ActionEvent evt)
            {
                onWeiter(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addComponent(jButton1)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }
 
Warum lässt du das von NetBeans generieren? Selber schreiben sorgt für keine Fehler, weil du es dann verstehst. Natürlich könntest du auch JavaFX verwenden.
An sich kann ich da jetzt auch keine Fehler finden.
 
Naja ich bin halt noch nicht soo fortgeschritten, dass ich sowas selbst schreibe haha es ist halt wesentlich einfacher 😛
aber ich hab es schon gelöst. Es war eine while schleife die den Programmablauf in gewisser maßen blockiert hat. Also die schleife die direkt nach dem öffnen des Frames gestartet wurde
 
tja das stimmt schon aber naja ich habe außerdem keine Lust den ganzen Tag daran zu sitzen und einfach nur für meine 20 klassen die GUIs händisch programmieren und noch dazu kann ich da Fehler machen was noch schlimmer ist. Also so ist es auf jeden Fall einfacher.
 
Da sitzt man keinen Tag dran. Höchstens ein paar Stunden. Und wenn du das ganze Selber machst und vernünftiges Debugging durchführst, dann ist die Chance einen Fehler zu machen relati gering, und wenn du einen Fehler machst, dann weiss man sofort wo.
 
Alternativ mit Scene Builder die Gui bauen und dann den Code zum Nutzen der Gui selbst schreiben, ist nicht so viel Aufwand wie den gesamten Code, den Netbeans dir momentan generiert selbst zu schreiben und du verstehst, was da passiert
 

Zurück
Oben