İstatistiklerinizi bir mağazada yükseltebileceğiniz bir oyun üzerinde çalışıyorum. Bir şey satın aldığınızda, para biriminizi gösteren JLabel'ı yenilemeniz gerekir. Bu, JLrame'i yapmadan yapmanın bir yolu var mı? refresh JFrame Java yeni JFrame yapmadan 0 JFrame
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();
}
Bu
İştepublic 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);
}
Kodunuzun bir kısmını gösterilecek şekilde gönderir misiniz? Bu, – user2891133
'un tamamının yapılmasına yardımcı olur. @ User2891133 –
Sınıfın geri kalanı lütfen lütfen :) En azından JLabel'in nerede ve nerede eklendiğini görebiliriz. – user2891133