public void initComponents() {
        Container con = this.getContentPane();
        con.setLayout(new BorderLayout());
        lblTitle = new JLabel("Tripcalculator Luttenberger u. Korosec");
        lblTitle.setHorizontalAlignment(JLabel.CENTER);


        lblCO2onDistance = new JLabel("CO2 consumption based on distance:");
        txtCO2onDistance = new JTextField();
        txtCO2onDistance.setEditable(false);

        lblCO2withSlope = new JLabel("CO2 consumption with slope:");
        txtCO2withSlope = new JTextField();
        txtCO2withSlope.setEditable(false);

        lblCO2withRoutetype = new JLabel("CO2 consumption with route type");
        txtCO2withRoutetype = new JTextField();
        txtCO2withRoutetype.setEditable(false);

        pnVehicle = new JPanel(new GridLayout(1, 2));
        lblSpecifications = new JLabel("Specifications");
        bgVehicle = new ButtonGroup();
        rbCar = new JRadioButton("beans.Car");
        rbCar.setSelected(true);
        rbTruck = new JRadioButton("beans.Truck");
        bgVehicle.add(rbCar);
        bgVehicle.add(rbTruck);
        pnVehicle.add(rbCar);
        pnVehicle.add(rbTruck);
        lblAverageConsumption = new JLabel("Average Consumption: ");
        txtAverageConsumption = new JTextField("5.0");

        pnFuelType = new JPanel(new GridLayout(1, 2));
        lblFuelType = new JLabel("Fueltype");
        bgFuel = new ButtonGroup();
        rbDiesel = new JRadioButton("Diesel");
        rbDiesel.setSelected(true);
        rbPatrol = new JRadioButton("Patrol");
        bgFuel.add(rbDiesel);
        bgFuel.add(rbPatrol);
        pnFuelType.add(rbDiesel);
        pnFuelType.add(rbPatrol);

        lblCargo = new JLabel("Cargo in kg");
        txtCargo = new JTextField("100");

        pnTruck = new JPanel(new GridLayout(1, 3));
        lblAxles = new JLabel("Nr Axles");
        lblAxles.setEnabled(false);
        txtAxles = new JTextField();
        txtAxles.setEditable(false);
        cbAdBlue = new JCheckBox("AdBlue");
        cbAdBlue.setEnabled(false);
        pnTruck.add(lblAxles);
        pnTruck.add(txtAxles);
        pnTruck.add(cbAdBlue);

        lblCO2fullCalculation = new JLabel("CO2 consumption full calculation");
        txtCO2fullCalculation = new JTextField();
        txtCO2fullCalculation.setEditable(false);

        rbTruck.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                txtAverageConsumption.setText("35.0");
                tgui.calculateOnInput();
                txtAxles.setEnabled(true);
                txtAxles.setEditable(true);
                lblAxles.setEnabled(true);
                cbAdBlue.setEnabled(true);

            }
        });

        rbCar.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                txtAverageConsumption.setText("5.0");
                tgui.calculateOnInput();
                txtAxles.setEnabled(false);
                txtAxles.setEditable(false);
                lblAxles.setEnabled(false);
                cbAdBlue.setEnabled(false);
            }
        });

        rbDiesel.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                tgui.calculateOnInput();
            }
        });

        rbPatrol.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                tgui.calculateOnInput();
            }
        });
        txtAxles.addKeyListener(new KeyAdapter() {
            @Override
            public void keyReleased(KeyEvent e) {
                tgui.calculateOnInput();
            }
        });
        txtCargo.addKeyListener(new KeyAdapter() {
            @Override
            public void keyReleased(KeyEvent e) {
                tgui.calculateOnInput();
            }
        });
        cbAdBlue.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                tgui.calculateOnInput();
            }
        });
        txtAverageConsumption.addKeyListener(new KeyAdapter() {
            @Override
            public void keyReleased(KeyEvent e) {
                tgui.calculateOnInput();
            }
        });

        SimpleDateFormat sdf = new SimpleDateFormat("E");
        lblDayOfWeek = new JLabel("DayOfWeek: ");
        String[] daysOfWeek = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
        cbDayOfWeek = new JComboBox(daysOfWeek);
        switch (sdf.format(new Date())) {
            case "Mo":
                cbDayOfWeek.setSelectedIndex(0);
                break;
            case "Di":
                cbDayOfWeek.setSelectedIndex(1);
                break;
            case "Mi":
                cbDayOfWeek.setSelectedIndex(2);
                break;
            case "Do":
                cbDayOfWeek.setSelectedIndex(3);
                break;
            case "Fr":
                cbDayOfWeek.setSelectedIndex(4);
                break;
            case "Sa":
                cbDayOfWeek.setSelectedIndex(5);
                break;
            default:
                cbDayOfWeek.setSelectedIndex(6);
        }

        cbDayOfWeek.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent e) {
                tgui.calculateOnInput();
            }
        });

        lblCostAverageConsumption = new JLabel("Cost Average Consumption");
        txtCostAverageConsumption = new JTextField();
        txtCostAverageConsumption.setEditable(false);
        lblShowSpecialFees = new JLabel("+ special fees");
        txtShowSpecialFees = new JTextField();
        txtShowSpecialFees.setEditable(false);
        lblShowAxles = new JLabel("+ axles");
        txtShowAxles = new JTextField();
        txtShowAxles.setEditable(false);

        pnBigPanel = new JPanel();
        pnBigPanel.setLayout(new GridLayout(13, 2, 5, 5));

        pnBigPanel.add(lblCO2onDistance);
        pnBigPanel.add(txtCO2onDistance);
        pnBigPanel.add(lblCO2withSlope);
        pnBigPanel.add(txtCO2withSlope);
        pnBigPanel.add(lblCO2withRoutetype);
        pnBigPanel.add(txtCO2withRoutetype);
        pnBigPanel.add(lblSpecifications);
        pnBigPanel.add(pnVehicle);
        pnBigPanel.add(lblAverageConsumption);
        pnBigPanel.add(txtAverageConsumption);
        pnBigPanel.add(lblFuelType);
        pnBigPanel.add(pnFuelType);
        pnBigPanel.add(lblCargo);
        pnBigPanel.add(txtCargo);
        pnBigPanel.add(new JLabel("only for truck"));
        pnBigPanel.add(pnTruck);
        pnBigPanel.add(lblCO2fullCalculation);
        pnBigPanel.add(txtCO2fullCalculation);
        pnBigPanel.add(lblDayOfWeek);
        pnBigPanel.add(cbDayOfWeek);
        pnBigPanel.add(lblCostAverageConsumption);
        pnBigPanel.add(txtCostAverageConsumption);
        pnBigPanel.add(lblShowSpecialFees);
        pnBigPanel.add(txtShowSpecialFees);
        pnBigPanel.add(lblShowAxles);
        pnBigPanel.add(txtShowAxles);

        con.add(lblTitle, BorderLayout.NORTH);
        con.add(pnBigPanel, BorderLayout.CENTER);
    }