2015-05-08 3 views
5

बिना जेएफआरएएम जावा रीफ्रेश करें मैं एक ऐसे गेम पर काम कर रहा हूं जहां आप अपने आंकड़ों को एक दुकान में अपग्रेड कर सकते हैं। जब आप कुछ खरीदते हैं तो उसे जेएलएबल को रीफ्रेश करना चाहिए जो आपके सिक्के दिखाता हैनया जेएफआरएएम

क्या कोई नया जेएफआरएम किए बिना ऐसा करने का कोई तरीका है?

public void actionPerformed(ActionEvent e) { 
     user.setCoin(user.getCoin() - 5); 
     user.setMaxJump(5); 
     EpixController.getInstance().coinsUpdate(user, -5); 
     SwingUtilities.updateComponentTreeUI(epix); 
     epix.revalidate(); 
     epix.repaint(); 
    } 

यह ActionListener का कोड है, जहां मैं JFrame Epix

ताज़ा करने के लिए चाहते हैं यहां व्यू का कोड है

public EpixView(User user) { 


     this.setUser(user); 

     JFrame epix = new JFrame(); 
     System.out.println(user.getMaxJump()); 
     epix.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     epix.setResizable(false); 
     epix.setBounds(100, 100, 801, 523); 
     epix.setLocationRelativeTo(null); 
     epix.getContentPane().removeAll(); 


     /* 
     * menuCard 
     */ 
     menuCard.setLayout(null); 

     //coin 
     menuCardCoinImage.setBounds(0, 10, 64, 64); 
     menuCard.add(menuCardCoinImage);   
     menuCardCoinImage.setIcon(new ImageIcon(coinSpinPath));    
     menuCardCoinLabel = new JLabel("" + getUser().getCoin()); 
     menuCardCoinLabel.setFont(new Font("Modern No. 20", Font.PLAIN, 26)); 
     menuCardCoinLabel.setBounds(67, 10, 56, 64); 
     menuCard.add(menuCardCoinLabel); 

     //player 
     menuCardPlayerLabel = new JLabel("Willkommen zurück, " + getUser().getUsername()); 
     menuCardPlayerLabel.setBounds(598, 18, 239, 36); 
     menuCard.add(menuCardPlayerLabel); 


     spielenButton.setBounds(485, 319, 89, 23); 
     menuCard.add(spielenButton); 

     ranglisteButton.setBounds(485, 353, 89, 23); 
     menuCard.add(ranglisteButton); 

     menuCardBackgroundImage.setIcon(new ImageIcon(backgroundPath)); 
     menuCardBackgroundImage.setBounds(0, 0, 801, 523); 
     menuCard.add(menuCardBackgroundImage); 


     cards.add(menuCard, "menuCard"); 


     /* 
     * upgradeCard 
     */ 
     upgradeCard.setLayout(null); 

     //coin 
     upgradeCardCoinImage.setBounds(0, 10, 64, 64);  
     upgradeCardCoinImage.setIcon(new ImageIcon(coinSpinPath)); 
     upgradeCard.add(upgradeCardCoinImage);    
     upgradeCardCoinLabel = new JLabel(""+ getUser().getCoin()); 
     upgradeCardCoinLabel.setBounds(67, 10, 56, 64); 
     upgradeCardCoinLabel.setFont(new Font("Modern No. 20", Font.PLAIN, 26)); 
     upgradeCard.add(upgradeCardCoinLabel); 

     //player 
     upgradeCardPlayerLabel = new JLabel("Willkommen zurück, " + getUser().getUsername()); 
     upgradeCardPlayerLabel.setBounds(598, 18, 239, 36); 
     upgradeCard.add(upgradeCardPlayerLabel); 

     //maxHealthBar 
     healthLabel.setHorizontalAlignment(SwingConstants.RIGHT); 
     healthLabel.setBounds(191, 127, 110, 36); 
     upgradeCard.add(healthLabel); 
     JProgressBar maxHealthBar = new JProgressBar(); 
     maxHealthBar.setValue(0); 
     maxHealthBar.setBounds(327, 127, 185, 36); 
     upgradeCard.add(maxHealthBar);  
     plusHealthButton.setBounds(522, 130, 41, 30);  
     upgradeCard.add(plusHealthButton); 

     //maxJumpBar  
     jumpLabel.setHorizontalAlignment(SwingConstants.RIGHT); 
     jumpLabel.setBounds(191, 174, 110, 36); 
     upgradeCard.add(jumpLabel); 
     JProgressBar maxJumpBar = new JProgressBar(); 
     maxJumpBar.setValue(0);  
     maxJumpBar.setBounds(327, 174, 185, 36); 
     upgradeCard.add(maxJumpBar);   
     plusJumpButton.setBounds(522, 177, 41, 30); 
     plusJumpButton.addActionListener(new PlusJumpListener(getUser(), maxJumpBar, epix)); 
     upgradeCard.add(plusJumpButton); 


     //maxSpeed 
     speedLabel.setHorizontalAlignment(SwingConstants.RIGHT); 
     speedLabel.setBounds(191, 221, 110, 36); 
     upgradeCard.add(speedLabel); 
     JProgressBar maxSpeedBar = new JProgressBar(); 
     maxSpeedBar.setValue(0);   
     maxSpeedBar.setBounds(327, 221, 185, 36); 
     upgradeCard.add(maxSpeedBar); 
     plusSpeedButton.setBounds(522, 224, 41, 30); 
     upgradeCard.add(plusSpeedButton); 

     //damageBar 
     damageLabel.setHorizontalAlignment(SwingConstants.RIGHT); 
     damageLabel.setBounds(191, 268, 110, 36); 
     upgradeCard.add(damageLabel); 
     JProgressBar damageBar = new JProgressBar(); 
     damageBar.setValue(0); 
     damageBar.setBounds(327, 268, 185, 36); 
     upgradeCard.add(damageBar); 
     plusDamageButton.setBounds(522, 271, 41, 30); 
     upgradeCard.add(plusDamageButton); 


     levelAuswählenButton.setBounds(395, 361, 168, 30); 
     upgradeCard.add(levelAuswählenButton); 

     upgradeZurückButton.setBounds(254, 361, 131, 30); 
     upgradeCard.add(upgradeZurückButton); 

     upgradeCardBackgroundImage.setBounds(0, 0, 801, 523);  
     upgradeCardBackgroundImage.setIcon(new ImageIcon(backgroundPath)); 
     upgradeCard.add(upgradeCardBackgroundImage); 

     cards.add(upgradeCard, "upgradeCard"); 


     /* 
     * levelAuswahlCard 
     */ 
     levelAuswahlCard.setLayout(null); 

     level1Button.setBounds(67, 159, 171, 170); 
     EpixController.getInstance().checkLevelSaved(user, level1Button); 
     levelAuswahlCard.add(level1Button); 


     level2Button.setBounds(308, 159, 171, 170); 
     EpixController.getInstance().checkLevelSaved(user, level2Button); 
     levelAuswahlCard.add(level2Button); 


     bossLevelButton.setBounds(550, 159, 171, 170); 
     EpixController.getInstance().checkLevelSaved(user, bossLevelButton); 
     levelAuswahlCard.add(bossLevelButton); 

     levelZurückBtton.setBounds(334, 378, 121, 28);  
     levelAuswahlCard.add(levelZurückBtton); 

     levelAuswahlCardCoinImage.setBounds(0, 10, 64, 64);    
     levelAuswahlCardCoinImage.setIcon(new ImageIcon(coinSpinPath)); 
     levelAuswahlCard.add(levelAuswahlCardCoinImage); 

     levelAuswahlCardCoinLabel = new JLabel("" + getUser().getCoin()); 
     levelAuswahlCardCoinLabel.setBounds(67, 10, 56, 64); 
     levelAuswahlCardCoinLabel.setFont(new Font("Modern No. 20", Font.PLAIN, 26)); 
     levelAuswahlCard.add(levelAuswahlCardCoinLabel); 

     levelAuswahlCardPlayerLabel = new JLabel("Willkommen zurück, " + getUser().getUsername()); 
     levelAuswahlCardPlayerLabel.setBounds(598, 18, 239, 36); 
     levelAuswahlCard.add(levelAuswahlCardPlayerLabel); 

     levelAuswahlCardBackgroundImage.setIcon(new ImageIcon(backgroundPath)); 
     levelAuswahlCardBackgroundImage.setBounds(0, 0, 801, 523); 
     levelAuswahlCard.add(levelAuswahlCardBackgroundImage); 

     cards.add(levelAuswahlCard, "levelAuswahlCard"); 


     /* 
     * Listener 
     */ 
     //menuCard 
     spielenButton.addActionListener(new MenuCardButtonListener(cards)); 

     //upgradeCard 
     upgradeZurückButton.addActionListener(new UpgradeCardButtonListener(cards)); 
     levelAuswählenButton.addActionListener(new UpgradeCardButtonListener(cards)); 

     //levelAuswahlCard 
     levelZurückBtton.addActionListener(new LevelAuswahlCardButtonListener(cards, getUser(), epix)); 
     level1Button.addActionListener(new LevelAuswahlCardButtonListener(cards, getUser(), epix)); 
     level2Button.addActionListener(new LevelAuswahlCardButtonListener(cards, getUser(), epix)); 
     bossLevelButton.addActionListener(new LevelAuswahlCardButtonListener(cards, getUser(), epix)); 


     epix.setContentPane(cards); 
     epix.setVisible(true); 

    } 
+0

क्या आप अपना कुछ कोड दिखाने के लिए पोस्ट कर सकते हैं। यह – user2891133

+2

को बहुत मदद करता है @ user2891133 –

+0

कृपया कक्षा के बाकी हिस्सों को पोस्ट करें :) कम से कम हम जहां जेएलएबल और जहां इसे जोड़ सकते हैं। – user2891133

उत्तर

2

आप ताज़ा करने के लिए नहीं है फ्रेम या जेपीनेल। एक्शनलिस्टर में आपको कार्डलाउट 'अपग्रेड कार्ड' दिखाना होगा जैसे आपने इसे लेवलॉसहैलिस्टर में किया है। फिर इसे ताज़ा करना चाहिए।

2
menuCardPlayerLabel.setText(yourVariable); 
+2

पहले से ही कोशिश की है ... –

+0

इसे भी –

+3

ठीक से रीफ्रेश नहीं किया। यदि आप अपना प्रश्न संपादित करते हैं, और इसे एक कामकाजी उदाहरण बनाते हैं, तो हम इसे आजमा सकते हैं। – user2891133

संबंधित मुद्दे