Textur GUI Kommentiert und Lavel Anzeige zuzugefügt

This commit is contained in:
Sebastian Kacza
2021-01-11 11:48:20 +01:00
parent 3f5fe3d3f9
commit 820694917a

View File

@@ -1,10 +1,9 @@
package de.jaujau.gui; package de.jaujau.gui;
import java.awt.BorderLayout;
import java.awt.Font; import java.awt.Font;
import java.awt.Image; import java.awt.Image;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import javax.swing.JButton; import javax.swing.JButton;
@@ -20,16 +19,23 @@ import javax.swing.JFileChooser;
/** /**
* Klasse texturenauswaehlen_GUI * Klasse texturenauswaehlen_GUI
* @author Sebastian Kacza
* Diese Klasse erstelt ein Fenster für die Texturenpaket auswahl
*/ */
public class texturenauswaehlen_GUI extends JFrame{ public class texturenauswaehlen_GUI extends JFrame{
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private JPanel contentPane; private JPanel contentPane;
private Texturenpakete pakete; private Texturenpakete pakete;
private JComboBox comboBox; private JComboBox<String> comboBox;
private JLabel vorschaubild; private JLabel vorschaubild;
private JButton speichern, hinzufuegen, schliessen; private JButton speichern, hinzufuegen, schliessen;
/**
* Konstruktor fpr das Fenster
* @param texturenpakete
*/
public texturenauswaehlen_GUI (Texturenpakete texturenpakete) { public texturenauswaehlen_GUI (Texturenpakete texturenpakete) {
pakete = texturenpakete; pakete = texturenpakete;
erstelleFenster(); erstelleFenster();
@@ -37,6 +43,9 @@ public class texturenauswaehlen_GUI extends JFrame{
} }
/**
* Erstelt alle komponenten des Fensters
*/
private void erstelleFenster() { private void erstelleFenster() {
//Fenster größen fetslegen //Fenster größen fetslegen
setAlwaysOnTop(true); setAlwaysOnTop(true);
@@ -81,13 +90,19 @@ public class texturenauswaehlen_GUI extends JFrame{
//Auswahl Box //Auswahl Box
comboBox = new JComboBox(); comboBox = new JComboBox<String>();
comboBox.setBounds(117, 69, 351, 25); comboBox.setBounds(117, 69, 351, 25);
contentPane.add(comboBox); contentPane.add(comboBox);
aktualisiereInhalt(); aktualisiereInhalt();
} }
/**
* Öffent einen auswahl dialog zu Öfnnen einer Datei
* Beo klick auf OK wird das Paket hinzugefügt
*/
private void paketHinzufuegeb() { private void paketHinzufuegeb() {
//Quelle: https://www.java-tutorial.org/jfilechooser.html //Quelle: https://www.java-tutorial.org/jfilechooser.html
@@ -101,31 +116,43 @@ public class texturenauswaehlen_GUI extends JFrame{
pakete.addPaket(chooser.getSelectedFile().toString()); pakete.addPaket(chooser.getSelectedFile().toString());
aktualisiereInhalt(); aktualisiereInhalt();
} }
} }
/**
* Schießt das Auswahlfenster
*/
private void schliessen() { private void schliessen() {
this.setVisible(false); this.setVisible(false);
} }
/**
* Speichert die Auswahl des akutellen Paketes
*/
private void speichern() { private void speichern() {
pakete.setAktivesPaket(comboBox.getSelectedIndex()); pakete.setAktivesPaket(comboBox.getSelectedIndex());
aktualisiereBild(); aktualisiereBild();
} }
/**
* Aktualaiset die Inhalte der ComboBox
*/
private void aktualisiereInhalt() { private void aktualisiereInhalt() {
comboBox.removeAllItems(); comboBox.removeAllItems();
for(int i = 0; i < pakete.getAnzahlPakete(); i++) { for(int i = 0; i < pakete.getAnzahlPakete(); i++) {
comboBox.addItem(pakete.getName(i)); comboBox.addItem(pakete.getName(i) + " [Level " + pakete.getLevel(i) + "]");
} }
comboBox.setSelectedIndex(pakete.getAktivesPaket()); comboBox.setSelectedIndex(pakete.getAktivesPaket());
aktualisiereBild(); aktualisiereBild();
} }
/**
* Aktualisiert das Vorschaubild
*/
private void aktualisiereBild() { private void aktualisiereBild() {
vorschaubild.setIcon(new ImageIcon(pakete.getTextur(32).getScaledInstance(150, 210, Image.SCALE_SMOOTH))); vorschaubild.setIcon(new ImageIcon(pakete.getTextur(32).getScaledInstance(150, 210, Image.SCALE_SMOOTH)));
} }