Hosting durch zwei Netzwerke?

Guten Abend,

ich habe eine kleine Frage an die Leute, die Erfahrung mit Hosting haben.
Unabhängig ob es ein Gameserver war oder Webspacehosting.
Wichtig dabei ist, dass ihr es am eignen Netzwerk durchgeführt habt und dazu kommen wir zu meiner Frage.

Folgendes:

Ich verwende einen Laptop als Server. Für ihm habe ich auch einige Ports freigegeben, damit er bei Minecraft einen Server hostet und FTP Zugang gewährt für mich und meinem Freund.

Genauso habe ich eine SRV und eine A Eintrag bei meiner TLD zur öffentliche IP-Adresse hinzugefügt und die Subdomain für Minecraft läuft bisher bestens.

Sogar Uptimerobot habe ich auf die IP und Ports gesetzt, dass er die anpingt und einen Uptimestatus Seite dafür bereit stellt.

Nun nach den paar Tagen das er läuft habe ich mir über die Sicherheit Gedanken gemacht.

Bisher habe ich alles einem Netzwerk gehabt und dies in einer Fritz!Box, wo alle Geräte verbunden sind und der auch ans V-DSL angebunden ist. Achtung, ich verwende nicht Exposed Host, weder noch an meinem Gaming PC (selbständige Port UPNP schon), wie auch beim Server Laptop (selbstständige Ports sind aus).

Nun habe ich mir gedacht, mein Netz zu Trennen zwischen dem Server Netzwerk und Hauptrouter und dies hat bisher auch geklappt, ich habe in der zweiten Fritz!Box in den Zugangsdaten die Verbindung vom Hauptrouter angegeben und es am Handy zu Urteilen, hat es Internet-Anbindung mit der gleichen öffentlichen IP-Adresse, aber Intern einen neuen Block statt xxx.xxx.178.xxx hat er nun xxx.xxx.188.xxx.

Um es sich Bildlich vorzustellen:

. Geräte vom Haushalt (178 Block)

V-DSL <===> Fritz!Box #1 ˫

. Fritz!Box #2 <===> Server Laptop (188 Block)

Würdet ihr dies als Sicherer so bezeichnen, oder würdet ihr eine andere Reihung der Verbindungen empfehlen oder gar eine ganz andere Methode. Ich bin offen und lerne gerne dafür dazu.

Vielleicht habt ihr auch sonstige Vorschläge, die zu meinem Schutz auch nützlich sein könnten :)

~ Die Falke in Gutefrage.

Server, Computer, Internet, Internetverbindung, Notebook, Netzwerk, IT, Informationen, Java, Selbstbefriedigung, FTP, Minecraft, AMD, Cybermobbing, DSL, Firewall, Hacking, Hoster, Hosting, Informatik, IP-Adresse, IT-Sicherheit, LAN, Minecraft Server, Netzwerktechnik, Netzwerkverbindung, Port, Router, selfmade, SSD, ssh, Telekom, Telekommunikation, WLAN-Router, xampp, Ping, FTP-Server, portweiterleitung, Server IP, Nvidia GeForce RTX
Wie entferne ich ein JPanel von einen JFrame bei einen 2D Tile Spiel (Java)?

Hallo.

Ich werde hier nicht den ganzen Code posten da das ganze zu kompliziert ist, sondern ich werde versuchen es grob zu erklären.

Ich arbeite gerade an einen Spiel das aus 2D tiles gebaut ist.

Das Spiel hat folgende Klassen (die hier relevante sind):

MainClass: Die Hauptklasse wo der Code beginnt. Hier wird das JFrame erstellt, initialisiert usw.

GameField: Hier findet das Spiel statt. Der Charakter bewegt sich hier wie bei den alten NES Legend of Zelda Spiel. Hier befindet sich auch die Thread Methode mit dem Namen Run(). Hier ist auch eine Update() und Redraw() Methode, die je die Spieldaten aktuelisieren und die aktuelisieren Daten dann auf das GameField anzeigen. Das ganze passiert 60 mal die Sekunde.

Player: In dieser Klasse wird der Soieler eingestellt.

Jetzt zu den Problem.

Ich will dass, nachdem der Spieler eine bestimmte Anzahl an Gegenständen in den Feld gesammelt hat dass das GameField aus den JFrame weggemacht wird mit frame.remove(GameField); und dass es mit anderen JPanels ausgetauscht wird die das Ende der Geschichte des Spiels anzeigen.

Ich habe die ganze Logik für den Spieler, wie er sich bewegt, wie er Sachen aufsammelt (dies wird in der Player Klasse geregelt) etc. Was ich will, ist lediglich zu wissen wie das GameField aus dem JFrame weggemacht wird, was mir bisher nicht gelungen ist.

Danke im voraus.

programmieren, Java, Eclipse, Programmiersprache
Was haltet ihr von der Idee (Umfrage)?

Ich möchte gerne eure Meinung zu einem Projekt einholen. Um genau zu sein würde ich gerne folgendes wissen:

  • Wäre Satori etwas für euch?
  • Haltet ihr Satori für sinnvoll?
  • Würdet ihr Satori weiterempfehlen?

Es handelt sich um die Lernplattform "Satori". Zunächst einmal: Auf Satori ist alles kostenlos. Alles, was wir hier beschreiben, wird kostenlos umsetzbar sein. Bitte denkt nicht an den kommerziellen Aspekt, dieser ist für mich zumindest zu Beginn nicht besonders wichtig. Satori hat andere Ziele als nur finanziellen Erfolg.

Das Konzept von Satori ist sehr einfach. Menschen können ihre Projektideen hochladen, inklusive Logo, Konzept und mehr. Die Community kann dann diese Ideen ähnlich wie auf Reddit einfach hochvoten und wenn ein Projekt genehmigt wird, können sie sich darauf bewerben.

Wenn Satori Kapazitäten frei hat, nehmen wir uns das Projekt vor, das zu diesem Zeitpunkt die meisten Upvotes erhalten hat. Wir setzen uns dann mit den Projektbesitzern in Verbindung. Wenn alles passt, gehen wir das Konzept mit den Projektbesitzern durch, verfeinern es und anschließend bildet der Projektbesitzer sein Team. Danach werden Aufgaben verteilt. An diesem Punkt beginnt der Prozess, und das Team unterstützt (bei der Planung und gegebenenfalls auch bei der Programmierung), um das Projekt voranzutreiben.

Sobald das Projekt abgeschlossen ist, wird es auf Satori gehostet, und im Laufe der Zeit können bei Bedarf neue Aufgaben erstellt und zugewiesen werden, um eventuelle Fehler zu beheben.

Satori verfolgt hiermit mehrere Ziele:

  • Satori eröffnet neue Möglichkeiten für größere Open-Source-Projekte. Oft bleiben Programmierer bei kleineren Projekten, da ihnen entweder die Beherrschung aller benötigten Technologien fehlt oder es ihnen schwerfällt, ein solides Team auf die Beine zu stellen. Doch Satori ändert diese Dynamik grundlegend.
  • Satori vermittelt Programmierern die Kunst der Teamarbeit, eine Fähigkeit, die viele von ihnen nicht beherrschen. Auf Satori wird der Umgang mit GitHub durch praktische Erfahrungen erlernt. Dank eines kompetenten Teams als Rückhalt haben auch weniger erfahrene Programmierer die Möglichkeit, ohne das Projekt zu beeinträchtigen, aktiv mitzuwirken.

Danke im Vorraus und lg.

Computer, Arbeit, Software, online, Forum, Technik, Community, HTML, Webseite, programmieren, Java, JavaScript, Communitys, development, Geschäft, Geschäftsidee, Ideen, Konzept, Open Source, Projekt, Softwareentwicklung, Team, Technologie, User, Software Update, github, Discord
Taschenrechner programmieren?

Ich habe nun in Java einen Taschenrechner programmiert. Ich bin noch ein Anfänger und bereite mich auf mein Studium vor.

Hier erstmal mein Code:

import java.util.Scanner;

public class Taschenrechner {

    public static void main(String[] args) {

        Scanner benutzereingabe = new Scanner(System.in);

        double zahl1;
        double zahl2;
        char operator;

        System.out.println("Geben sie die erste Zahl ein:");
        zahl1 = benutzereingabe.nextDouble();

        System.out.println("Geben sie die zweite Zahl ein:");
        zahl2 = benutzereingabe.nextDouble();

        System.out.println("Bitte geben sie ihren gewünschten Rechenoperator ein ('+', '-', '*', '/'):");
        operator = benutzereingabe.next().charAt(0);

        if (operator == '+') {
            System.out.println(zahl1 + zahl2);
        } else if (operator == '-') {
            System.out.println(zahl1 - zahl2);
        } else if (operator == '*') {
            System.out.println(zahl1 * zahl2);
        } else if (operator == '/') {
            System.out.println(zahl1 / zahl2);
        } else {
            System.out.println("Ihr Rechenoperator ist nicht gültig!");
        }
    }
}

Meine Frage:

Ich möchte eine Funktion einbauen, bei der ein Text ausgegeben wird:

Bitte geben sie nur Zahlen ein!

Heißt, dass wenn man in die Konsole einen Buchstaben oder ein anderes Symbol eingibt statt eine Zahl, wird dieser Text ausgegeben. Ich habe schon einen Ansatz, aber er ist nicht ganz richtig.

ich würde etwas in die Richtung

if (zahl1 != Zahlen) {
  System.out.println("Bitte geben sie nur Zahlen ein!");
  }

if (zahl2 != Zahlen) {
  System.out.println("Bitte geben sie nur Zahlen ein!");
  }

Das Problem was ich habe ist, dass die Variable "Zahlen" ja gar nicht existiert. Ich wüsste auch jetzt nicht, wie man das mit einem Array lösen sollte.

Java, Programmiersprache
Werden KI's uns Software-Entwickler ersetzen?

Hallo,

ich mache eine Programmierer-Ausbildung bei einer großen öffentlichen Firma und habe dort sehr gute Übernahmechancen nach der Ausbildung.

Chatgpt/GPT4 kann meiner Meinung nach schon sehr gut programmieren, debuggen und dokumentieren. Meine Sorge ist jetzt, ob diese KI uns Programmierer in der Zukunft ersetzen könnte. GPT4 hilft mir bisher wenig auf der Arbeit, aber was ist mit besseren Versionen von GPT? Der Sprung von Chatgpt 3.5 zu Gpt4 ist einfach so enorm... Ich frag mich, wie groß der Sprung zu neueren Modellen sein wird.

Weil ich habe momentan extreme Angst, dass meine Ausbildung doch nur Zeitverschwendung ist. Ich würde gern für immer als Software Entwickler arbeiten und hätte echt nicht die Nerven mit Mitte 30 arbeitslos zu werden während ich meine Kinder ernähren muss und ein Haus abbezahle.

Also was ist eure Meinung? Sollte ich vielleicht sogar die Ausbildung abbrechen und zum Beispiel Handwerk machen? Oder hat Software Entwicklung Zukunft wie jeder sagt?

Also kann ich auf diesen Beruf im öffentlichen Dienst setzen, wenn ich in der Zukunft ein Haus abbezahlen will und eine Familie gründen will? Bitte seid ehrlich!

Nein, nicht sicher 58%
Ja, sicher bis zur Rente 42%
Software, Lernen, Zukunft, Technik, Wirtschaft, programmieren, Java, GPT, Informatik, künstliche Intelligenz, Öffentlicher Dienst, Python, Softwareentwicklung, Student, ChatGPT, OpenAI
Wie ändere ich die Größe der einzelnen JPanels bei einem BorderLayout in Java?

Hallo.

Ich habe in Java einen JFrame erstellt in dem ein JPanel ist, indem sich ein anderes JPanel (mit BorderLayout) befindet das 2 JPanels enthält.

Also so etwa:

JFrame/JPanel/JPanel(BL)
              > JPanel(NORTH)
              > JPanel(SOUTH)

(BL = BorderLayout)

Ich will das die 2 JPanels die in den BL sind so angeordnet sind wie das Spielfeld und das Inventar bei den Zelda NES Spiel aus den 90ern (Bild unten).

Das nördliche JPanel(NORTH) soll das Inventar sein während das südliche(SOUTH) das Spielfeld sein soll auf dem sich das eigentliche Geschehen mit dem Spieler, NPCs, Map usw. abspielt.

Jetzt ist jedoch das Problem dass das JPanel dass das Spielfeld ist fast den ganzen Platz einnimmt:

Spielfeld Panel (Schwarz). Inventar Panel (Grün)

Ich will jedoch das es ungefähr so angeordnet ist:

Wie zu sehen ist, ist bei dem Zelda Spiel das Inventar deutlich größer, während es bei mir eher wie ein Strich aussieht.

Ich habe die Größe des Spielfeld Panels schon definiert, die des Inventar Panels auch.

Ich habe die beiden Panels (Spielfeld und Inventar) in das JP mit dem BL gemacht, welches ich einen anderen JPanel hinzugefügt habe, welches sich im JFrame befindet.

Dann habe ich das JFrame der Größe seiner JPanels eingeglichen mit frame.pack()

(Mein JFrame heißt frame)

Ich habe versucht die Größe der beiden Panels auf verschiedenste Art und Weise zu ändern, jedoch ohne Erfolg.

Ich würde mich freuen wenn jemand eine Lösung dafür kennt.

Danke im voraus.

Bild zum Beitrag
programmieren, Java, Eclipse, Programmiersprache, Swing, Java Swing
Pygame Vampire Survivors?

Hallo ich programmiere gerade ein Spiel in Pygame das dem Spiel Vampire Survivors ähnelt ich habe aktuell das problem das Problem das wenn der spieler auf die Gegner hinzu läuft die Gegener nach hinten verschoben werden staat nach vorn weil.

Also aktuell wenn ich stehe laufen die Gegner auf mich zu.

Und wenn ich von den Gegnern weg laufe werden sie aus dem Screen geschoben.

Aber wenn ich auf sie zu laufe werden sie auch aus dem Screen geschoben.

Obwohl sie dann normal laufen sollen als ob der spieler steth hier der wichtige code:   def update(self, dt, player, screen_width, screen_height):

    if not self.collided_with_enemy and self.is_visible:

      dx = player.x - self.x

      dy = player.y - self.y

      distance = max(1, pygame.math.Vector2(dx, dy).length())

      direction = pygame.math.Vector2(-dx / distance, -dy / distance)

      player_rect = pygame.Rect(player.x, player.y, player.hitbox_width, player.hitbox_height)

      enemy_rect = pygame.Rect(self.x, self.y, self.hitbox_width, self.hitbox_height)

      if player_rect.colliderect(enemy_rect):

        player.handle_collision()

        self.speed = 0

        return

      if dx != 0 and dy != 0:

        dx = 0

        dy = 0

      speed_multiplier = self.speed * dt

      if player.is_moving:

        speed_multiplier *= 0.5

      # Anpassung der Bewegungsrichtung basierend auf dem Spielerstatus

      if player.is_moving:

        self.x -= direction.x * speed_multiplier

        self.y -= direction.y * speed_multiplier

      else:

        self.x += direction.x * speed_multiplier

        self.y += direction.y * speed_multiplier

      self.x = max(-self.hitbox_width, min(self.x, screen_width))

      self.y = max(-self.hitbox_height, min(self.y, screen_height))

      self.animation_timer += dt

      if self.animation_timer >= self.animation_speed:

        self.animation_timer = 0

        self.current_frame = (self.current_frame + 1) % self.animation_frames

      # Anpassung der Geschwindigkeit basierend auf der Bewegungsrichtung des Spielers

      player_direction = pygame.math.Vector2(player.x - self.x, player.y - self.y)

      player_distance = max(1, player_direction.length())

      player_direction = player_direction.normalize()

      dot_product = player_direction.dot(direction)

      if dot_product > 0.5:

        # Spieler bewegt sich dem Gegner entgegen

        self.speed = self.original_speed + 100

      else:

        # Spieler bewegt sich vom Gegner weg

        self.speed = self.original_speed - 100

    else:

      self.x += self.direction * self.speed * dt

      self.collided_with_enemy = False

    for enemy in enemies:

      if check_enemy_collision(player, enemy):

        break

Java, JavaScript, Minecraft, C Sharp, Programmiersprache, Python, Python 3, Unity, Pygame
Pinball-Game / JavaScript: Wie kann ich die Kollisionserkennung implementieren?

Hallo zusammen,

ich muss für die Uni ein kleines Single Page 2D-Spiel entwickeln. Die Backend REST-API mit Python, das Frontend mit HTML/CSS, die Logik mit JavaScript. Die Animationen sollen wir selbst entwickeln und nicht z.B. von canvas-Objekten übernehmen.

Ich versuche zurzeit ein Pinball-Spiel (Flipper-Automaten) und habe das Grundgerüst mit CSS gebaut. Nur habe ich mir die Kollisionserkennung deutlich leichter vorgestellt, als sie wahrscheinlich ist.

So sieht das Spielfeld momentan aus:

Die JavaScript-Logik sodass der Ball im Spielfeld bleibt, ist ja recht simpel:

  var ball = document.getElementById('ball');
  var playArea = document.getElementById('play-area');
  var ballRadius = 10;
  var playAreaWidth = playArea.offsetWidth; // 600
  var playAreaHeight = playArea.offsetHeight; // 820
  var ballX = playAreaWidth / 2; // Startposition des Balls in der Mitte des Spielfelds
  var ballY = playAreaHeight / 2; // X = 300, Y = 410
  var ballSpeedX = 3; // Geschwindigkeit des Balls in horizontaler Richtung
  var ballSpeedY = 3; // Geschwindigkeit des Balls in vertikaler Richtung
  
  function updateBallPosition() {
    // Aktualisiere die Position des Balls basierend auf der aktuellen Geschwindigkeit
    ballX += ballSpeedX;
    ballY += ballSpeedY;
  
    if (ballX + ballRadius > playAreaWidth || ballX - ballRadius < 0) {
      ballSpeedX *= -1; // Richtungswechsel in der horizontalen Richtung
    }
  
    if (ballY + ballRadius > playAreaHeight || ballY - ballRadius < 0) {
      ballSpeedY *= -1; // Richtungswechsel in der vertikalen Richtung
    }
  
    // Setze die neue Position des Balls
    ball.style.left = ballX + 'px';
    ball.style.top = ballY + 'px';
  }
  
  // Aktualisiere die Position des Balls alle 16 Millisekunden (ca. 60 Frames pro Sekunde)
  setInterval(updateBallPosition, 16);
}

Aber wie man es implementiert, sodass der Ball von den Hindernissen und Banden richtig abprallt, sodass ein Richtungswechsel entsteht, habe ich noch nicht wirklich verstanden. Hätte da jemand eine Idee oder Erfahrung, wie man hier an die Kollisionserkennung herangehen könnte?

LG und danke im Voraus. :)

Bild zum Beitrag
HTML, CSS, Java, JavaScript, HTML5, Informatik, Programmiersprache, Webentwicklung
Eclipse fehler beim installieren?

hallo ich habe vor kurzem meinen pc upgegradet und alles neu installier inclusive windows 10...nur habe ich jetzt das problem dass ich mir Eclipse nicht merh herunterladen kann da ich die ganze zeit eine fehler meldung bekomme...kann mir jemand helfen???

Ende des Log files:
(ganz viele andere Dowlnloads...)

[2023-06-04 19:09:15] Downloading org.eclipse.mylyn.wikitext.asciidoc

[2023-06-04 19:09:15] Collected 467 artifacts for https://download.eclipse.org/releases/2023-03/202303151000 in 0.259s

[2023-06-04 19:09:15] An error was detected while performing the engine operation and the changes are being rolled back. See the log for details.

[2023-06-04 19:09:15] ERROR: org.eclipse.equinox.p2.engine code=4 An error occurred while collecting items to be installed

 at org.eclipse.oomph.util.OomphPlugin.coreException(OomphPlugin.java:296)

 at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl$3.commit(ProfileTransactionImpl.java:578)

 at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.commit(ProfileTransactionImpl.java:359)

 at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.perform(P2TaskImpl.java:904)

 at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:3864)

 at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:3792)

 at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:3773)

 at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:3651)

 at org.eclipse.oomph.setup.internal.installer.SimpleVariablePage.installPerform(SimpleVariablePage.java:1353)

 at org.eclipse.oomph.setup.internal.installer.SimpleVariablePage$20.run(SimpleVariablePage.java:1165)

 ERROR: org.eclipse.equinox.p2.engine code=0 session context was:(profile=C__Users_Noni_eclipse_java-2023-03_eclipse, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).

 ERROR: org.eclipse.equinox.p2.artifact.repository code=1003 Unable to write to repository: file:/C:/Users/Noni/Downloads/%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00.

 java.io.IOException: Failed to create directory C:\Users\Noni\Downloads\

Java, Eclipse, Softwareproblem, eclipse java
Buttons postion Anpassen java?

hallo, ich würde gerne buttons, die ich erzeugt habe in der Position ändern, wie mach ich das ?

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


public class CopyOftextapp2 extends JFrame implements ActionListener {

    private JTextField inputField;
    private JTextArea outputArea;
    private JButton submitButton;
    private JButton submitButton2;
 


    

    public CopyOftextapp2() {
        
       
        
      
        JLabel inputLabel = new JLabel("Bitte geben Sie eine Zahl ein:");
        inputField = new JTextField(10);
        
        submitButton = new JButton("Eingabe");
        submitButton.addActionListener(this);
        
        
         submitButton2= new JButton("Beenden");
         submitButton2.addActionListener(this);
         
   

         
        
        outputArea = new JTextArea(100, 160);
        JScrollPane outputPane = new JScrollPane(outputArea);
       

        Container container = getContentPane();
        container.setLayout(new FlowLayout());
        container.add(inputLabel);
        container.add(inputField);
        container.add(submitButton);
        container.add(submitButton2);
      

        container.add(outputPane);
        setSize( Toolkit.getDefaultToolkit().getScreenSize() );
        
        submitButton13.setBounds( 100, 100, 600, 250 );
        setBounds( 20, 20, 70, 100 );
        
        
        


       GraphicsDevice device;
             device=GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0];
             setUndecorated( true );
             device.setFullScreenWindow(this);
 
        
       
        
        setTitle("Text App");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setVisible(true);
    }
 
 public static void main(String[] args) {
        CopyOftextapp2 app = new CopyOftextapp2();
    }
    public void actionPerformed(ActionEvent e) {
      // Neue Parameter hinzugefügt
      if(e.getSource() == this.submitButton){
        int inputNumber = Integer.parseInt(inputField.getText());
      
         switch ( inputNumber ) {
       
         case 1:
         String text = "Sie haben die Zahl 1 eingegeben.";
         outputArea.setText(text);
         break;
        
         case 2:
         String text2 = "Sie haben die Zahl 2 eingegeben.";
         outputArea.setText(text2);
         break;
        
         default:
         String text3 = "Sie haben die falsche Zahl eingegeben.";
         outputArea.setText(text3);
        
       }
   }
   else if(e.getSource() == this.submitButton2){
     

     int result = JOptionPane.showConfirmDialog(null,"Wollen sie das Programm wirklich beenden", "Programm beenden", JOptionPane.YES_NO_OPTION);
     switch(result){
     case JOptionPane.YES_OPTION:
     System.exit(0);
     case JOptionPane.NO_OPTION:


     }
   }
}
}
Java, Programmiersprache
Hintergrund in Java GUI?

Heyho,

Ich möchte gerne in meiner GUI einen Hintergrund einfügen, da es sonst so trostlos wirkt. Es soll das Bild "GameBackground.jpg" genutzt werden.

Hier ist der Code:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*; 
import ch.aplu.turtle.*;

/**
 *
 * Ein Spiel mit GUI
 *
 * @version 1.0 vom 19.05.2023
 * @abraham_oez 
 */

public class frame extends JFrame {
  private Button bSpielstarten1 = new Button();
  // Anfang Attribute
  private Button bHowtoplay1 = new Button();
  private Button bCopyright1 = new Button();
    private JMenu jMenuBar1_File = new JMenu("Spiel");
      private JMenu jMenuBar1_File_New = new JMenu("Neues Spiel");
  
  private JLabel Label1 = new JLabel();
  // Ende Attribute
  public frame() { 
    // Frame init
    super();
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 746; 
    int frameHeight = 562;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setTitle("Games by Abie D. Tate");
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    setUndecorated(false);
    cp.setBackground(new Color(0xC0C0C0));
    // Anfang Komponenten
    
    bSpielstarten1.setBounds(288, 104, 176, 48);
    bSpielstarten1.setLabel("Spiel starten");
    bSpielstarten1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        bSpielstarten1_ActionPerformed(evt);
      }
    });
    cp.add(bSpielstarten1);
    bHowtoplay1.setBounds(285, 224, 176, 48);
    bHowtoplay1.setLabel("How to play");
    bHowtoplay1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        bHowtoplay1_ActionPerformed(evt);
      }
    });
    cp.add(bHowtoplay1);
    bCopyright1.setBounds(288, 352, 176, 48);
    bCopyright1.setLabel("Lizenzen");
    bCopyright1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        bCopyright1_ActionPerformed(evt);
      }
    });
    cp.add(bCopyright1);

    // Ende Komponenten
    setVisible(true);
  }  
  
  
  
  public static void main(String[] args) {
    new frame();
  }  
  
  // Anfang Methoden
  public void bSpielstarten1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    
  } 

  public void bHowtoplay1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    
  }  
  
  //Nachdem der Button 'Copyright' gedrueckt wurde, wird die Klasse 'CopyrightFrame' geoeffnet in einem neuen Fenster
  public void bCopyright1_ActionPerformed(ActionEvent evt) {
    
    if (evt.getSource() == bCopyright1) {
      CopyrightFrame copyrightFrame = new CopyrightFrame();
    } 
    
  }  

} 

Java, Programmiersprache, Swing, Java Swing

Meistgelesene Beiträge zum Thema Java