Vorlesung 15 / Aufgabe 1
This commit is contained in:
parent
b90a013f4c
commit
e1eaf252de
18
VL15/Aufgabe01/Aufgabe01.java
Normal file
18
VL15/Aufgabe01/Aufgabe01.java
Normal file
@ -0,0 +1,18 @@
|
||||
package VL15.Aufgabe01;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
|
||||
/**
|
||||
* Vorlesung 15 / Aufgabe 1
|
||||
*
|
||||
* @author Sebastian Brosch
|
||||
*/
|
||||
public class Aufgabe01 {
|
||||
public static void main(String[] args) {
|
||||
Screenshot screenshot = new Screenshot("Screenshot");
|
||||
screenshot.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
screenshot.setSize(690, 390);
|
||||
screenshot.setResizable(false);
|
||||
screenshot.setVisible(true);
|
||||
}
|
||||
}
|
238
VL15/Aufgabe01/Screenshot.java
Normal file
238
VL15/Aufgabe01/Screenshot.java
Normal file
@ -0,0 +1,238 @@
|
||||
package VL15.Aufgabe01;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JSeparator;
|
||||
import javax.swing.JTabbedPane;
|
||||
import javax.swing.JTextArea;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.UIManager;
|
||||
import java.awt.event.WindowListener;
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.awt.Image;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
|
||||
public class Screenshot extends JFrame {
|
||||
Screenshot(String title) {
|
||||
super(title);
|
||||
|
||||
JTabbedPane tcMain = new JTabbedPane();
|
||||
JPanel pnlVerbindungssuche = new JPanel();
|
||||
pnlVerbindungssuche.setLayout(null);
|
||||
JPanel pnlErweiterteSuche = new JPanel();
|
||||
tcMain.addTab("Verbindungssuche", pnlVerbindungssuche);
|
||||
tcMain.addTab("Erweiterte Suche", pnlErweiterteSuche);
|
||||
|
||||
JTextArea txtLanguageMenu = new JTextArea();
|
||||
txtLanguageMenu.setText("deutsch | english | francais | italiano");
|
||||
txtLanguageMenu.setBounds(480, 0, 200, 20);
|
||||
this.getContentPane().add(txtLanguageMenu);
|
||||
|
||||
insertHeading("Start & Ziel", pnlVerbindungssuche, 0);
|
||||
JLabel lblStartZielVon = new JLabel();
|
||||
lblStartZielVon.setText("Von:");
|
||||
lblStartZielVon.setBounds(0, 25, 100, 25);
|
||||
pnlVerbindungssuche.add(lblStartZielVon);
|
||||
JLabel lblStartZielNach = new JLabel();
|
||||
lblStartZielNach.setText("Nach:");
|
||||
lblStartZielNach.setBounds(0, 50, 100, 25);
|
||||
pnlVerbindungssuche.add(lblStartZielNach);
|
||||
JLabel lblStartZielBahnhofHaltestelleVon = new JLabel();
|
||||
lblStartZielBahnhofHaltestelleVon.setText("Bahnhof/Haltestelle");
|
||||
lblStartZielBahnhofHaltestelleVon.setBounds(100, 25, 150, 25);
|
||||
lblStartZielBahnhofHaltestelleVon.setFont(lblStartZielBahnhofHaltestelleVon.getFont().deriveFont(Font.PLAIN));
|
||||
pnlVerbindungssuche.add(lblStartZielBahnhofHaltestelleVon);
|
||||
JLabel lblStartZielBahnhofHaltestelleNach = new JLabel();
|
||||
lblStartZielBahnhofHaltestelleNach.setText("Bahnhof/Haltestelle");
|
||||
lblStartZielBahnhofHaltestelleNach.setBounds(100, 50, 150, 25);
|
||||
lblStartZielBahnhofHaltestelleNach.setFont(lblStartZielBahnhofHaltestelleNach.getFont().deriveFont(Font.PLAIN));
|
||||
pnlVerbindungssuche.add(lblStartZielBahnhofHaltestelleNach);
|
||||
JTextField txtStartZielVon = new JTextField();
|
||||
txtStartZielVon.setBounds(250, 27, 300, 20);
|
||||
txtStartZielVon.setBorder(BorderFactory.createLineBorder(Color.black));
|
||||
pnlVerbindungssuche.add(txtStartZielVon);
|
||||
JTextField txtStartZielNach = new JTextField();
|
||||
txtStartZielNach.setBounds(250, 52, 300, 20);
|
||||
txtStartZielNach.setBorder(BorderFactory.createLineBorder(Color.BLACK));
|
||||
pnlVerbindungssuche.add(txtStartZielNach);
|
||||
|
||||
pnlVerbindungssuche.add(getInfoIcon(555, 27));
|
||||
|
||||
JButton btnStartZielUeber = new JButton();
|
||||
btnStartZielUeber.setText("Über");
|
||||
btnStartZielUeber.setBounds(555, 52, 65, 20);
|
||||
pnlVerbindungssuche.add(btnStartZielUeber);
|
||||
|
||||
insertHeading("Reisedatum und -zeit", pnlVerbindungssuche, 75);
|
||||
JLabel lblReisedatumHinfahrt = new JLabel();
|
||||
lblReisedatumHinfahrt.setText("Hinfahrt:");
|
||||
lblReisedatumHinfahrt.setBounds(0, 100, 100, 25);
|
||||
pnlVerbindungssuche.add(lblReisedatumHinfahrt);
|
||||
JLabel lblReisedatumHinfahrtDatum = new JLabel();
|
||||
lblReisedatumHinfahrtDatum.setText("Datum:");
|
||||
lblReisedatumHinfahrtDatum.setBounds(100, 100, 75, 25);
|
||||
lblReisedatumHinfahrtDatum.setFont(lblReisedatumHinfahrtDatum.getFont().deriveFont(Font.PLAIN));
|
||||
pnlVerbindungssuche.add(lblReisedatumHinfahrtDatum);
|
||||
JLabel lblReisedatumHinfahrtUhrzeit = new JLabel();
|
||||
lblReisedatumHinfahrtUhrzeit.setText("Uhrzeit:");
|
||||
lblReisedatumHinfahrtUhrzeit.setBounds(100, 125, 50, 25);
|
||||
lblReisedatumHinfahrtUhrzeit.setFont(lblReisedatumHinfahrtUhrzeit.getFont().deriveFont(Font.PLAIN));
|
||||
pnlVerbindungssuche.add(lblReisedatumHinfahrtUhrzeit);
|
||||
JTextField txtReisedatumHinfahrtDatum = new JTextField();
|
||||
txtReisedatumHinfahrtDatum.setBounds(150, 102, 100, 20);
|
||||
txtReisedatumHinfahrtDatum.setBorder(BorderFactory.createLineBorder(Color.black));
|
||||
pnlVerbindungssuche.add(txtReisedatumHinfahrtDatum);
|
||||
JTextField txtReisedatumHinfahrtUhrzeit = new JTextField();
|
||||
txtReisedatumHinfahrtUhrzeit.setBounds(150, 127, 50, 20);
|
||||
txtReisedatumHinfahrtUhrzeit.setBorder(BorderFactory.createLineBorder(Color.black));
|
||||
pnlVerbindungssuche.add(txtReisedatumHinfahrtUhrzeit);
|
||||
String uhrzeitTypes[] = { "Ankunft", "Abfahrt" };
|
||||
JComboBox<String> cmbReisedatumHinfahrtUhrzeitType = new JComboBox<String>(uhrzeitTypes);
|
||||
cmbReisedatumHinfahrtUhrzeitType.setBounds(205, 127, 100, 20);
|
||||
pnlVerbindungssuche.add(cmbReisedatumHinfahrtUhrzeitType);
|
||||
|
||||
JSeparator sepReisedatum = new JSeparator(SwingConstants.VERTICAL);
|
||||
sepReisedatum.setBounds(315, 100, 1, 50);
|
||||
sepReisedatum.setBackground(Color.LIGHT_GRAY);
|
||||
pnlVerbindungssuche.add(sepReisedatum);
|
||||
|
||||
JLabel lblReisedatumRueckfahrt = new JLabel();
|
||||
lblReisedatumRueckfahrt.setText("Rückfahrt:");
|
||||
lblReisedatumRueckfahrt.setBounds(325, 100, 100, 25);
|
||||
pnlVerbindungssuche.add(lblReisedatumRueckfahrt);
|
||||
JLabel lblReisedatumRueckfahrtDatum = new JLabel();
|
||||
lblReisedatumRueckfahrtDatum.setText("Datum:");
|
||||
lblReisedatumRueckfahrtDatum.setBounds(425, 100, 75, 25);
|
||||
lblReisedatumRueckfahrtDatum.setFont(lblReisedatumRueckfahrtDatum.getFont().deriveFont(Font.PLAIN));
|
||||
pnlVerbindungssuche.add(lblReisedatumRueckfahrtDatum);
|
||||
JLabel lblReisedatumRueckfahrtUhrzeit = new JLabel();
|
||||
lblReisedatumRueckfahrtUhrzeit.setText("Uhrzeit:");
|
||||
lblReisedatumRueckfahrtUhrzeit.setBounds(425, 125, 50, 25);
|
||||
lblReisedatumRueckfahrtUhrzeit.setFont(lblReisedatumRueckfahrtUhrzeit.getFont().deriveFont(Font.PLAIN));
|
||||
pnlVerbindungssuche.add(lblReisedatumRueckfahrtUhrzeit);
|
||||
JTextField txtReisedatumRueckfahrtDatum = new JTextField();
|
||||
txtReisedatumRueckfahrtDatum.setBounds(475, 102, 100, 20);
|
||||
txtReisedatumRueckfahrtDatum.setBorder(BorderFactory.createLineBorder(Color.black));
|
||||
pnlVerbindungssuche.add(txtReisedatumRueckfahrtDatum);
|
||||
JTextField txtReisedatumRueckfahrtUhrzeit = new JTextField();
|
||||
txtReisedatumRueckfahrtUhrzeit.setBounds(475, 127, 50, 20);
|
||||
txtReisedatumRueckfahrtUhrzeit.setBorder(BorderFactory.createLineBorder(Color.black));
|
||||
pnlVerbindungssuche.add(txtReisedatumRueckfahrtUhrzeit);
|
||||
JComboBox<String> cmbReisedatumRueckfahrtUhrzeitType = new JComboBox<String>(uhrzeitTypes);
|
||||
cmbReisedatumRueckfahrtUhrzeitType.setBounds(530, 127, 100, 20);
|
||||
pnlVerbindungssuche.add(cmbReisedatumRueckfahrtUhrzeitType);
|
||||
|
||||
insertHeading("Angaben zur Preisberechnung", pnlVerbindungssuche, 150);
|
||||
JLabel lblPreisberechnungReisende = new JLabel();
|
||||
lblPreisberechnungReisende.setText("Reisende:");
|
||||
lblPreisberechnungReisende.setBounds(0, 175, 100, 25);
|
||||
pnlVerbindungssuche.add(lblPreisberechnungReisende);
|
||||
String personType[] = { "1 Erwachsener", "2 Erwachsene" };
|
||||
JComboBox<String> cmbPreisberechnungPersonType = new JComboBox<String>(personType);
|
||||
cmbPreisberechnungPersonType.setBounds(100, 177, 205, 20);
|
||||
pnlVerbindungssuche.add(cmbPreisberechnungPersonType);
|
||||
JButton btnPreisberechnungAdd = new JButton();
|
||||
btnPreisberechnungAdd.setText("Personen hinzufügen");
|
||||
btnPreisberechnungAdd.setBounds(100, 202, 160, 20);
|
||||
pnlVerbindungssuche.add(btnPreisberechnungAdd);
|
||||
pnlVerbindungssuche.add(getInfoIcon(265, 202));
|
||||
String rabattType[] = { "Keine Ermäßigung", "Bahn-Card 25", "Bahn-Card 50" };
|
||||
JComboBox<String> cmbPreisberechnungRabattType = new JComboBox<String>(rabattType);
|
||||
cmbPreisberechnungRabattType.setBounds(315, 177, 210, 20);
|
||||
pnlVerbindungssuche.add(cmbPreisberechnungRabattType);
|
||||
JButton btnPreisberechnungAuslandspreise = new JButton();
|
||||
btnPreisberechnungAuslandspreise.setText("Auslandspreise");
|
||||
btnPreisberechnungAuslandspreise.setBounds(315, 202, 125, 20);
|
||||
pnlVerbindungssuche.add(btnPreisberechnungAuslandspreise);
|
||||
pnlVerbindungssuche.add(getInfoIcon(445, 202));
|
||||
String klasseType[] = { "1. Klasse", "2. Klasse" };
|
||||
JComboBox<String> cmbPreisberechnungKlasse = new JComboBox<String>(klasseType);
|
||||
cmbPreisberechnungKlasse.setBounds(530, 177, 100, 20);
|
||||
pnlVerbindungssuche.add(cmbPreisberechnungKlasse);
|
||||
|
||||
insertHeading("Angaben zur Verbindung", pnlVerbindungssuche, 225);
|
||||
JLabel lblVerbindungVerkehrsmittel = new JLabel();
|
||||
lblVerbindungVerkehrsmittel.setText("Verkehrsmittel:");
|
||||
lblVerbindungVerkehrsmittel.setBounds(0, 250, 100, 25);
|
||||
pnlVerbindungssuche.add(lblVerbindungVerkehrsmittel);
|
||||
String searchType[] = { "Standardsuche", "Erweiterte Suche" };
|
||||
JComboBox<String> cmbVerbindungSucheType = new JComboBox<String>(searchType);
|
||||
cmbVerbindungSucheType.setBounds(100, 252, 205, 20);
|
||||
pnlVerbindungssuche.add(cmbVerbindungSucheType);
|
||||
JButton btnVerbindungAdvanced = new JButton();
|
||||
btnVerbindungAdvanced.setText("Erweitert");
|
||||
btnVerbindungAdvanced.setBounds(315, 252, 100, 20);
|
||||
pnlVerbindungssuche.add(btnVerbindungAdvanced);
|
||||
pnlVerbindungssuche.add(getInfoIcon(420, 252));
|
||||
JCheckBox chkVerbindungSchnelleVerbindung = new JCheckBox();
|
||||
chkVerbindungSchnelleVerbindung.setText("schnelle Verbindungen bevorzugen");
|
||||
chkVerbindungSchnelleVerbindung.setBounds(100, 277, 235, 20);
|
||||
pnlVerbindungssuche.add(chkVerbindungSchnelleVerbindung);
|
||||
pnlVerbindungssuche.add(getInfoIcon(335, 277));
|
||||
JCheckBox chkVerbindungFahrrad = new JCheckBox();
|
||||
chkVerbindungFahrrad.setText("Fahrradmitnahme");
|
||||
chkVerbindungFahrrad.setBounds(370, 277, 150, 20);
|
||||
pnlVerbindungssuche.add(chkVerbindungFahrrad);
|
||||
|
||||
JSeparator sepControls = new JSeparator(SwingConstants.HORIZONTAL);
|
||||
sepControls.setBounds(0, 300, 670, 1);
|
||||
sepControls.setBackground(Color.LIGHT_GRAY);
|
||||
pnlVerbindungssuche.add(sepControls);
|
||||
|
||||
JButton btnVerbindungSuchen = new JButton();
|
||||
btnVerbindungSuchen.setText("Verbindung suchen");
|
||||
btnVerbindungSuchen.setBounds(0, 305, 150, 20);
|
||||
pnlVerbindungssuche.add(btnVerbindungSuchen);
|
||||
JButton btnVerbindungNeueAnfrage = new JButton();
|
||||
btnVerbindungNeueAnfrage.setText("Neue Anfrage");
|
||||
btnVerbindungNeueAnfrage.setBounds(155, 305, 125, 20);
|
||||
pnlVerbindungssuche.add(btnVerbindungNeueAnfrage);
|
||||
JButton btnMeinAnfrageprofil = new JButton();
|
||||
btnMeinAnfrageprofil.setText("Mein Anfrageprofil");
|
||||
btnMeinAnfrageprofil.setBounds(520, 305, 150, 20);
|
||||
pnlVerbindungssuche.add(btnMeinAnfrageprofil);
|
||||
|
||||
this.getContentPane().add(tcMain);
|
||||
|
||||
WindowListener closeListener = new WindowAdapter() {
|
||||
public void windowClosing(WindowEvent event) {
|
||||
System.exit(0);
|
||||
}
|
||||
};
|
||||
this.addWindowListener(closeListener);
|
||||
}
|
||||
|
||||
private void insertHeading(String title, JPanel panel, int top) {
|
||||
JLabel lblStartZiel = new JLabel();
|
||||
lblStartZiel.setText(title);
|
||||
lblStartZiel.setOpaque(true);
|
||||
lblStartZiel.setBackground(Color.decode("#ceccfe"));
|
||||
lblStartZiel.setForeground(Color.decode("#1b0897"));
|
||||
lblStartZiel.setBounds(0, top, 670, 25);
|
||||
panel.add(lblStartZiel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a JLabel with displaying the info icon.
|
||||
*
|
||||
* @param left The position on the x-axis.
|
||||
* @param top The position on the y-axis.
|
||||
* @return The label with info icon.
|
||||
*/
|
||||
private JLabel getInfoIcon(int left, int top) {
|
||||
ImageIcon icon = (ImageIcon) UIManager.get("OptionPane.informationIcon");
|
||||
Image imgFit = icon.getImage().getScaledInstance(20, 20, java.awt.Image.SCALE_SMOOTH);
|
||||
JLabel lblInfoIcon = new JLabel(new ImageIcon(imgFit));
|
||||
lblInfoIcon.setBounds(left, top, 20, 20);
|
||||
return lblInfoIcon;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user