Button in BlueJ erstellen?

1 Antwort

Du solltest dich zuerst darauf festlegen, womit du überhaupt für deine grafische Oberfläche arbeiten möchtest. Du wirst ja sicherlich bereits irgendwelche vorgefertigten Klassen benutzen, um zu zeichnen. Vielleicht hast du da auch schon etwas, um Buttons anzulegen.

In Schulen wird beispielsweise SaS (oder eine modifizierte Version davon) genutzt, wo es eine Button- oder Knopf-Komponente gibt.

Dies nun einfach mit einem anderen Toolkit mischen zu wollen (der Code, den du dir da herausgesucht hast, nutzt bspw. das Swing Toolkit), dürfte sich schnell als ungünstige Entscheidung erweisen. Jedes Toolkt hat seine eigenen Komponenten und Strategien, wie die grafische Oberfläche gezeichnet wird.

Zu einer Lösung mit Swing:

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

public class MyFirstGui {
  public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
      @Override
      public void run() {
        JFrame window = new JFrame("My window");
        JPanel main = new JPanel();
        JButton button = new JButton("Click me");
        button.addActionListener(new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent evt) {
            // do something ...
          }
        });
        main.add(button);
        window.add(main);
        window.pack();
        window.setVisible(true);
      }
    });
  }
}

Dies würde dir (im Event Dispatch Thread) soweit ein Fenster mit einem Button erstellen. In der actionPerfomed-Methode wird das aufgeführt, was bei Klick auf den Button passieren soll. Zusätzlich bräuchtest du nun noch eine Zeichenfläche (vielleicht ein weiteres JPanel, dessen paintComponent-Methode überschrieben wird.

Als Einstieg sollte dir meine Antwort von hier weiterhelfen. Beachte, dass das Schlüsselwort var nur in neueren Java-Versionen (ab JDK 10) verfügbar ist.

Die objektorientierten Konzepte sollten dir soweit bereits bekannt sein und als Nachschlagewerke können die API Referenz (z.B. zur Graphics-Klasse) sowie die Oracle Tutorialsserie (Beispiel: Layouts) herhalten. Von YouTube-Videos möchte ich gleich im Vorfeld deutlich abraten, denn bei denen stößt du zumeist auf solche, die eher zeigen, wie man es eben nicht machen sollte.

apache20748 
Fragesteller
 25.11.2021, 12:41

Danke für die Antwort, allerdings habe ich und ein Freund mit etwas besseren Java Kenntnissen als ich das Problem schon gelöst. (Er hat eine eigene Maus Klasse erstellt die mit den Buttons kommunizieren kann). Aber egal jetzt haben andere mit dem gleichen Problem eine Antwort ^^

0