2014-02-08 6 views
0

Это код моей графической репрезентации, но проблема в том, что lpane вызывает один раз, но когда я снова снова запускаю старт, и он не является конструктором вызовов в казино, но проверенная консольная программа также работает, но lpane не меняет карты .........Слоистая панель не работает сразу после

package test; 
import javax.swing.*; 
import java.awt.event.*; 
import java.awt.*; 

public class Test extends javax.swing.JFrame { 


    public Test() { 
     initComponents(); 
     start.addMouseListener(new MouseAdapter(){ 
      public void mouseClicked(MouseEvent e){ 

       new Casino(); 
       new JLayeredPane(); 
       System.out.println(Casino.p[0].getpHand()[0].getValue()); 
      } 
     }); 
    } 
    private void initComponents() { 

     jPanel1 = new javax.swing.JPanel(); 
     start = new javax.swing.JButton(); 
     lpane = new javax.swing.JLayeredPane(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     start.setText("Start"); 

     javax.swing.GroupLayout jLayeredPane1Layout = new javax.swing.GroupLayout(lpane); 
     lpane.setLayout(jLayeredPane1Layout); 
     jLayeredPane1Layout.setHorizontalGroup(
      jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 691, Short.MAX_VALUE) 
     ); 
     jLayeredPane1Layout.setVerticalGroup(
      jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGap(0, 475, Short.MAX_VALUE) 
     ); 

     javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); 
     jPanel1.setLayout(jPanel1Layout); 
     jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() 
       .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
       .addComponent(start) 
       .addContainerGap()) 
      .addGroup(jPanel1Layout.createSequentialGroup() 
       .addContainerGap() 
       .addComponent(lpane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(114, Short.MAX_VALUE)) 
     ); 
     jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() 
       .addContainerGap() 
       .addComponent(lpane) 
       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
       .addComponent(start) 
       .addContainerGap()) 
     ); 

     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(19, 19, 19) 
       .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(36, Short.MAX_VALUE)) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addGap(26, 26, 26) 
       .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
       .addContainerGap()) 
     ); 

     pack(); 
    } 


    public static void main(String args[]) { 


     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(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (InstantiationException ex) { 
      java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (IllegalAccessException ex) { 
      java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (javax.swing.UnsupportedLookAndFeelException ex) { 
      java.util.logging.Logger.getLogger(Test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } 


     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       new Test().setVisible(true); 
      } 
     }); 
    } 

    public static JLayeredPane getLPane(){ 
    return lpane; 
} 


    private static javax.swing.JLayeredPane lpane; 
    private static javax.swing.JPanel jPanel1; 
    private static javax.swing.JButton start; 

} 
+0

Код ошибки: –

+0

package test; общественный класс Казино { общественное казино() { p = new Players [4]; новый DealAndShuffle(); for (int i = 0; i <4; i ++) { p [i] = new Players(); if (i == 0) p [i] .loadButtons (20, 30,0); else if (i == 1) p [i] .loadButtons (50, 10,1); else if (i == 2) p [i] .loadButtons (360, 30,2); else p [i] .loadButtons (50, 350,3); } } общественные статические игроки [] p; } – Zohaib

ответ

1

Шаг назад для второй и посмотреть на ваш mouseClicked события ...

  public void mouseClicked(MouseEvent e){ 

       new Casino(); 
       new JLayeredPane(); 
       System.out.println(Casino.p[0].getpHand()[0].getValue()); 
      } 

создается новый экземпляр Casino и JLayeredPane и делаю предмет с ним, они даже не отнесены к какому-то ссылке ...

Не полагайтесь на static ссылок, они являются явным признаком плохого дизайна ...

Не используйте MouseListener сек на кнопках, вы должны использовать ActionListener

Шаг от дизайнера формы, серьезно, это наносит вам вред. Потратьте время на чтение Creating a GUI With JFC/Swing, поймите, как создавать пользовательские интерфейсы вручную и трюки, необходимые для создания сложных интерфейсов, только тогда вы поймете, что дизайнер форм может сделать для вас и как его использовать.

Смежные вопросы