Im Rahmen meiner Ausbildung habe ich die folgenden Java-Kenntnisse erworben:
Dieser Java-Code implementiert eine einfache grafische Benutzeroberfläche (GUI), die es Nutzern ermöglicht, zwei Zahlen einzugeben und deren Summe zu berechnen. Die Anwendung verwendet die Swing-Bibliothek und bietet ein benutzerfreundliches Design mit klaren Eingabefeldern und Schaltflächen. Nach der Eingabe der Zahlen und dem Klicken auf „Berechnen“ wird das Ergebnis in einem separaten Feld angezeigt. Außerdem gibt es eine Schaltfläche zum Schließen der Anwendung. Dieser Code ist ein praktisches Beispiel für die Grundlagen der GUI-Entwicklung in Java.
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import java.awt.Font;
public class MainWindow {
private JFrame frmMain;
private JTextField txtValue1;
private JTextField txtValue2;
private JTextField txtResult;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainWindow window = new MainWindow();
window.frmMain.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public MainWindow() {
initialize();
}
private void initialize() {
frmMain = new JFrame();
frmMain.setTitle("Addition zweier Zahlen");
frmMain.setBounds(100, 100, 409, 246);
frmMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frmMain.getContentPane().setLayout(null);
JButton btnCalc = new JButton("Berechnen");
btnCalc.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double zahl1 = Double.parseDouble(txtValue1.getText());
double zahl2 = Double.parseDouble(txtValue2.getText());
double ergebnis = zahl1 + zahl2;
txtResult.setText(String.valueOf(ergebnis));
}
});
btnCalc.setBounds(91, 149, 103, 23);
frmMain.getContentPane().add(btnCalc);
JButton btnClose = new JButton("Beenden");
btnClose.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
btnClose.setBounds(206, 149, 103, 23);
frmMain.getContentPane().add(btnClose);
txtValue1 = new JTextField();
txtValue1.setFont(new Font("Tahoma", Font.BOLD, 11));
txtValue1.setForeground(new Color(220, 20, 60));
txtValue1.setText("0");
txtValue1.setBounds(152, 44, 127, 20);
frmMain.getContentPane().add(txtValue1);
txtValue1.setColumns(10);
txtValue2 = new JTextField();
txtValue2.setFont(new Font("Tahoma", Font.BOLD, 11));
txtValue2.setForeground(new Color(220, 20, 60));
txtValue2.setText("0");
txtValue2.setColumns(10);
txtValue2.setBounds(152, 75, 127, 20);
frmMain.getContentPane().add(txtValue2);
txtResult = new JTextField();
txtResult.setFont(new Font("Tahoma", Font.BOLD, 11));
txtResult.setText("0");
txtResult.setForeground(new Color(0, 128, 0));
txtResult.setColumns(10);
txtResult.setBounds(152, 106, 127, 20);
frmMain.getContentPane().add(txtResult);
JLabel lblNewLabel = new JLabel("1. Zahl");
lblValue1.setBounds(98, 47, 55, 14);
frmMain.getContentPane().add(lblNewLabel);
JLabel lblZahl = new JLabel("2. Zahl");
lblValue2.setBounds(97, 77, 51, 17);
frmMain.getContentPane().add(lblZahl);
JLabel lblErgebnis = new JLabel("Ergebnis");
lblErgebnis.setBounds(91, 109, 62, 14);
frmMain.getContentPane().add(lblErgebnis);
}
}
In diesen Java-Codes werden die Klassen Fahrzeug, Auto und LKW verwendet, um die Konzepte der Vererbung und Objektorientierung zu veranschaulichen. Die Basisklasse Fahrzeug enthält allgemeine Eigenschaften wie farbe, sitzplatz und kilometerstand, die von den abgeleiteten Klassen Auto und LKW erweitert werden. Autos haben zusätzliche Methoden wie fahren, während LKW spezifische Attribute wie zulaessigeZuladung und adBlueFuellStand besitzen. Alles wird in der Fahrzeuge-Klasse ausgeführt, wo Objekte dieser Fahrzeugtypen einbezogen und deren Methoden aufgerufen werden. Der Code demonstriert, wie Vererbung die Wiederverwendung von Code ermöglicht und eine flexible Struktur für unterschiedliche Fahrzeugarten schafft.
public class Fahrzeuge {
public static void main(String[] args) {
Auto fahrzeug = new Auto();
System.out.println("Mein Auto hat die Farbe " + fahrzeug.farbe + ".");
System.out.println("Mein Auto hat " + fahrzeug.sitzplatz + " Sitzplätze.");
System.out.println("Mein Auto hat einen Kilometerstand von " + fahrzeug.kilometerstand + " km.\n");
Auto taxi = new Auto("blau", 123);
System.out.println("Mein Auto hat die Farbe " + taxi.farbe + ".");
System.out.println("Mein Auto hat " + taxi.sitzplatz + " Sitzplätze.");
System.out.println("Mein Auto hat einen Kilometerstand von " + taxi.kilometerstand + " km.\n");
Auto auto = new Auto("rot", "ES MH 810", 0, true);
System.out.println("Mein Auto hat die Farbe " + auto.farbe + ".");
System.out.println("Mein Auto hat das Kennzeichen: " + auto.kennzeichen);
System.out.println("Mein Auto hat einen Kilometerstand von " + auto.kilometerstand + " km.");
auto.fahren(244, 5);
System.out.println("Ist mein Auto ein Neufahrzeug? " + auto.neufahrzeug + "\n");
LKW meinLkw = new LKW();
System.out.println(meinLkw.kaufJahr);
meinLkw.setZulaessigeZuladung(15000); // 15 Tonnen
meinLkw.setAdBlueFuellStand(50.5); // 50,5 Liter
meinLkw.setRoute(new String[]{"Berlin", "Hamburg", "München"});
System.out.println("Zulässige Zuladung: " + meinLkw.getZulaessigeZuladung() + " kg");
System.out.println("AdBlue-Füllstand: " + meinLkw.getAdBlueFuellStand() + " Liter");
meinLkw.zeigeRoute();
Auto teil = new Auto();
System.out.println("\nDas Auto wurde " + teil.kaufJahr + " gekauft.");
teil.autoinBesitz(10);
}
}
public abstract class Fahrzeug {
int kaufJahr;
String farbe;
String kennzeichen;
byte sitzplatz;
int kilometerstand;
boolean neufahrzeug;
int tankFuellStand;
int summe;
public Fahrzeug() {
kaufJahr = 2002;
}
public void autoinBesitz(int jahre) {
int aktuellesJahr = kaufJahr + jahre;
System.out.println("Das Auto ist seit " + jahre + " Jahren in meinem Besitz.");
System.out.println("Das aktuelle Jahr ist: " + aktuellesJahr);
}
}
public class Auto extends Fahrzeug {
public Auto() {
farbe = "gelb";
sitzplatz = 5;
kilometerstand = 0;
}
public Auto(String lackfarbe, int km) {
farbe = lackfarbe;
sitzplatz = 5;
kilometerstand = km;
}
public Auto(String lackfarbe, String nummernschild, int km, boolean neu) {
farbe = lackfarbe;
kennzeichen = nummernschild;
kilometerstand = km;
neufahrzeug = neu;
}
public void fahren(int abstand, int kmVerbrauch) {
this.kilometerstand += abstand;
System.out.println("Das Auto ist " + abstand + " Kilometer weitergefahren. Neuer Kilometerstand: " + this.kilometerstand);
this.tankFuellStand -= kmVerbrauch;
System.out.println("Das Auto hat bisher " + kmVerbrauch + " % verbraucht. Der Verbrauch steht bei " + this.tankFuellStand + " %.");
}
}
public class LKW extends Fahrzeug {
private int zulaessigeZuladung;
private double adBlueFuellStand;
private String[] route;
public int getZulaessigeZuladung() {
return zulaessigeZuladung;
}
public double getAdBlueFuellStand() {
return adBlueFuellStand;
}
public String[] getRoute() {
return route;
}
public void setZulaessigeZuladung(int zulaessigeZuladung) {
if (zulaessigeZuladung >= 0) {
this.zulaessigeZuladung = zulaessigeZuladung;
} else {
System.out.println("Zuladung muss positiv sein!");
}
}
public void setAdBlueFuellStand(double adBlueFuellStand) {
if (adBlueFuellStand >= 0.0) {
this.adBlueFuellStand = adBlueFuellStand;
} else {
System.out.println("AdBlue-Füllstand kann nicht negativ sein!");
}
}
public void setRoute(String[] route) {
if (route != null && route.length > 0) {
this.route = route;
} else {
System.out.println("Die Route darf nicht leer sein!");
}
}
public void zeigeRoute() {
if (route != null) {
System.out.println("Route:");
for (String punkt : route) {
System.out.println(" - " + punkt);
}
} else {
System.out.println("Keine Route definiert.");
}
}
}