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