JPanel und JButton verschieben?
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.event.*;
public class Engine extends Thread {
  public JFrame frame = new JFrame("drawWorld");
  public JPanel panel;
  public JButton startGame = new JButton("START");
  public JLabel highscore = new JLabel("HIGHSCORE: ");
  public JLabel score = new JLabel("CURRENT SCORE: ");
  public int shift = 0;
  public int bounce = 0;
  public Player player;
  public Engine(Player pPlayer) {
    frame.setExtendedState(frame.getExtendedState() | JFrame.MAXIMIZED_BOTH);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    this.player = pPlayer;
  }

  public void startdraw(List blocks) {
    panel = new JPanel() {
      @Override
      protected void paintComponent(Graphics g) {

        List<Block> world = blocks.copy(); //Kopiert das Listenobjekt, damit es nicht zu einem doppeltem Zugriff kommt

        super.paintComponent(g);
        BufferedImage buffer = new BufferedImage(frame.getWidth(), frame.getHeight(), BufferedImage.TYPE_INT_ARGB);
        Graphics bufferGraphics = buffer.getGraphics();
        player.isUpdating = true;
        if (player.dead == false) {
          bufferGraphics.drawImage(player.texture, (int)frame.getWidth() / 2 - 75, (int)frame.getHeight() / 2, 150, 150, null);
          world.toFirst();
          while (world.getContent() != null) {
            Block currentDrawing = (Block)world.getContent();
            if (currentDrawing != null) {
              bufferGraphics.drawImage(currentDrawing.texture, (int)currentDrawing.x*100 - shift + ((int)frame.getWidth() - 1000) / 2 - 350, (int)currentDrawing.y*100 + bounce + 45 + ((int)frame.getHeight() - 1000) / 2, (int)100, (int)100, null);
            }
            world.next();
          }
        }
        score.setText("CURRENT SCORE: " + player.world.score);
        highscore.setText("HIGHSCORE: " + player.world.highscore);
        g.drawImage(buffer, 0, 0, null);
        player.isUpdating = false;
      }
    };

    startGame.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
          player.reset();
          player.dead = false;
          panel.remove(startGame);
          frame.requestFocusInWindow();
          frame.repaint();
        }
      });

    frame.add(panel);
    panel.add(this.highscore);
    panel.add(this.score);

    if (player.dead) {
      panel.add(this.startGame);
    }
    frame.setVisible(true);
  }

  public void update() {
    frame.repaint();
  }
}

Hallo Leute,

ich habe mich gefragt, wie ich die Objekte this.highscore, this.score und this.startGame verschieben kann. Ich habe schon mehrere Möglichkeiten ausprobiert. setBounds, setHorizontal / VerticalAlignment haben nicht funktioniert. Woran liegt das?

Danke im Vorraus!

Spiele, App, Programm, Java, Code, Programmiersprache, Swing, game-development, Java Swing
Java: Possible lossy conversion from double to int?

Guten Tag,

ich möchte ein Bild anzeigen, die Position dabei aber in einem double angeben. currentDrawing.x / y sind bereits double Werte. Weiß jemand, warum dieser Fehler aufkommt? Oder kann die Methode nur Integer annehmen? Vielen Dank schonmal!

public void startdraw(List world) {
        JPanel panel = new JPanel() {
            @Override
            protected void paintComponent(Graphics g) {
                super.paintComponent(g);
                BufferedImage buffer = new BufferedImage(frame.getWidth(), frame.getHeight(), BufferedImage.TYPE_INT_ARGB);
                Graphics bufferGraphics = buffer.getGraphics();
                world.toFirst();
                while (world.getContent() != null) {
                    Block currentDrawing = (Block)world.getContent();
                    if (currentDrawing != null) {
                        bufferGraphics.drawImage(currentDrawing.texture, currentDrawing.x*50.0, currentDrawing.y*50.0, (int)50, (int)50, null);
                    }
                    world.next();
                }
                g.drawImage(buffer, 0, 0, null);
            }
        };


        frame.add(panel);
        frame.setVisible(true);
    } 
Bild zu Frage
Fehler, Java, Code, Programmiersprache, Swing, double, Integer, Java Swing
Welche Programmiersprache für Backend (Web)?

An alle Programmierer,

welche Programmiersprache verwendet ihr im Backend und welche würdet ihr empfehlen?

Ich weis das ist eine sehr diskutierte Frage, aber was würdet ihr empfehlen, um in Deutschland einen Job zu bekommen?

Wenn man mal auf YouTube schaut, sagen die meisten Java - nein, C# (.Net) - veraltet (sind aber auch amerikanische YouTuber, da läuft es gefühlt anders).

Die Empfehlung ist: nimm Python (Django oder Flask), Ruby, GO, etc. (eben die neuen Sprachen).

Vergleicht man das allerdings mit den aktuellen Job Angeboten z.B. Stepstone dann gibt es aktuell 14 Jobangebote in Deutschland für Django, also für mich ein klares nein diese Sprache weiter zu lernen (genau so für alle anderen Sprachen)...

Gefordert werden Java oder C# (oder auch PHP, aber die Firmen setzten dann meistens auf WordPress), das sind allerdings auch die Sprachen, die keiner aktuell empfiehlt, daher bin ich da im Zwiespalt.

Aktuell verwende ich im Backend Django mit AWS, Ubuntu 22.04, NGINX und Gunicorn. Allerdings verwendet keiner in Deutschland Django, daher mal die Frage: Was macht denn eigentlich wirklich Sinn zu lernen, was auch viele Unternehmen verwenden?

Denn laut den Jobangeboten ist Java an erster Stelle und dann kommt C# an zweiter Stelle, für alle weiteren gibt es dann kaum Angebote.

Mit Frontend Frameworks ist das ja ein ähnliches Problem, es gibt gefühlt wöchentlich neuen Frameworks, aber bei Bewerbungen werden Angular (die meisten Job Angebote), dann React.js, dann Vue.js gefordert. Über allen anderen Frameworks brauchen wir nicht reden, da gibt es so gut wie keine Angebote.

Java 53%
C# 27%
PHP 20%
Python 0%
Node.js 0%
Weitere 0%
Webseite, Java, JavaScript, Programmiersprache, Python, Webentwicklung, Backend-Developer
EntityDamageEvent Bukkit Plugin?

Hi, ich hätte einmal eine Frage.

Ich bin relativ neu im Coden von Plugins (insgesamt im Coden) und wollte ein Plugin machen, bei dem, wenn der Spieler irgendeinen Schaden erhält, der Spieler in die Luft geschleudert wird.

Das funktioniert auch alles, bis auf das Erkennen des Schadens. Der Spieler wird irgendwie nur gelauncht, wenn er Fallschaden bekommt. Aber nicht, wenn er z.B. von einem Zombie geschlagen wurde.

Kann mir da jemand helfen? Danke. 🙂

Falls man das auf dem Bild nicht sieht, nochmals hier:

import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByBlockEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.util.Vector;

public class SchadenGleichLaunchChallenge extends JavaPlugin {
  public class SchadenListener implements Listener {
    @EventHandler(priority = EventPriority.HIGHEST)
    public void onEvent(final EntityDamageEvent event) {
      Entity e = event.getEntity();

      if (e instanceof Player || event instanceof EntityDamageByEntityEvent || event instanceof EntityDamageByBlockEvent) {
        Player player = (Player)e;
        player.setVelocity(new Vector(0, 70, 0));
      }
    }
  }

  public void onEnable() {
    PluginManager pluginManager = this.getServer().getPluginManager();
    SchadenListener listener = new SchadenListener();
    pluginManager.registerEvents(listener, this);
  }

  public void onDisable() {
  }
}
Bild zu Frage
Java, Minecraft, Plug-in
kann mir wer helfen?
ich komme einfach nicht auf die uhrsache des fehlers hier der code und fehlerausgabe wenn jemand was findet  
Fehlerhafte Methode:

public boolean equals(Object other) {
if (this == other) return true;
    if (!(other instanceof Polygon)) return false;
    Polygon otherPolygon = (Polygon) other;

    // Check if both polygons are empty
    if (this.points.isEmpty() || otherPolygon.points.isEmpty()) {
        return false;
    }

    // Check if the number of points is the same
    if (this.points.size() != otherPolygon.points.size()) {
        return false;
    }

    // Check if the points in the same order are equal
    for (int i = 0; i < points.size(); i++) {
        if (!this.points.get(i).equals(otherPolygon.points.get(i))) {
            return false;
        }
    }

    return true;
}

Main Methode:

package einfprog;

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // Test der Implementierung 

        // Testfall 1: Leeres Polygon sollte nicht gleich einem anderen leeren Polygon sein
        ArrayList<Point> emptyPoints1 = new ArrayList<>();
        ArrayList<Point> emptyPoints2 = new ArrayList<>();

        Polygon emptyPolygon1 = new Trigon(emptyPoints1); // Verwende eine konkrete Implementierung wie Trigon
        Polygon emptyPolygon2 = new Trigon(emptyPoints2); // Verwende eine konkrete Implementierung wie Trigon

        System.out.println("Empty Polygon1: " + emptyPolygon1);
        System.out.println("Empty Polygon2: " + emptyPolygon2);
        System.out.println("Empty Polygon1 equals Empty Polygon2: " + emptyPolygon1.equals(emptyPolygon2)); // Erwartet false
        System.out.println();

        // Testfall 2: Trigon mit verschiedenen Punkten
        ArrayList<Point> points3 = new ArrayList<>();
        points3.add(new Point(1, 1));
        points3.add(new Point(2, 2));
        points3.add(new Point(3, 3));

        Trigon trigon1 = new Trigon(points3);

        System.out.println("Trigon1: " + trigon1);
        System.out.println("Circumference: " + trigon1.getCircumference());
        System.out.println("Area: " + trigon1.getArea());
        System.out.println("Is Rectangle: " + trigon1.isRectangle());
    }
}

Fehlermeldung:
Part 1 -- 10/11 tests passed: Point: Success Point.equals(): Success Point.getDistance(): Success Point.toString(): Success Polygon: Success Polygon.equals(): Failed: Expected true for [] and [], but was false Polygon.getCircumference(): Success Polygon.repair(): Success Polygon.clean(): Success Polygon.toString(): Success new Trigon(): Success

Java, Code, Fehlermeldung

Meistgelesene Fragen zum Thema Java