Action Event auf Textfield legen

maGG

Bekanntes Mitglied
Ich möchte, dass etwas passiert, wenn man den Wert des Textfieldes ändert. Also wenn z.B. wenn das Textfeld vorher leer war und man einen Knopf drückt, dann wird der Rand des Feldes rot. Wenn man dann etwas in das Textfeld schreibt soll der Rand wieder verschwinden.

Wie macht man das am Besten? Mit nem ActionListener/KeyListener? Ich habe mal was probiert ...
Java:
KeyListener keyListener = new KeyListener() {
           
        @Override
        public void keyPressed(KeyEvent keyEvent) {
        }

        @Override
        public void keyReleased(KeyEvent keyEvent) {
        }

        @Override
        public void keyTyped(KeyEvent keyEvent) {
        if(!"".equals(jTextFieldVorname.getText()) || !"<Vorname>".equals(jTextFieldVorname.getText())){
            jTextFieldVorname.setBorder(new JTextField().getBorder());
        }
        }
        }
und beim Textfeld:
Java:
    private void jTextFieldVornameActionPerformed(java.awt.event.ActionEvent evt) {                                                 
     
        jTextFieldVorname.addKeyListener(keyListener);

    }
Ich hab das aus so ner javadoc Vorlage kopiert, deswegen funktionierts wahrscheinlich auch nicht :/
 

krgewb

Top Contributor
Mit anderen Methodennamen. Das Interface DocumentListener hat die Methoden changedUpdate, insertUpdate und removeUpdate
 

maGG

Bekanntes Mitglied
Java:
      DocumentListener documentListener = new DocumentListener() {
      @Override
      public void changedUpdate(DocumentEvent documentEvent) {
          jTextFieldVorname.setBorder(new JTextField().getBorder());
      }
      @Override
      public void insertUpdate(DocumentEvent documentEvent) {
          jTextFieldVorname.setBorder(new JTextField().getBorder());
      }
      @Override
      public void removeUpdate(DocumentEvent documentEvent) {
          jTextFieldVorname.setBorder(new JTextField().getBorder());
      }
      };
      jTextFieldVorname.getDocument().addDocumentListener(documentListener);
Wo ist mein Fehler?
 

mrBrown

Super-Moderator
Mitarbeiter
Der Fehler liegt zumindest nicht in dem geposteten Codestück sondern irgendwo drumherum.

Ne Zeilenangabe zum Fehler ist auch immer ganz nützlich ;)
 

maGG

Bekanntes Mitglied
oh was meinst du mit Zeilenangabe? Also die Zeile
Java:
jTextFieldVorname.getDocument().addDocumentListener(documentListener);
ist rot. Ich hab die jetzt mal in das Textfeld selbst reingeschrieben, jetzt ist es nicht mehr rot. Also ich habs da rein geschrieben:
Java:
    private void jTextFieldVornameActionPerformed(java.awt.event.ActionEvent evt) {              
        jTextFieldVorname.getDocument().addDocumentListener(documentListener);  
    }
Aber der rote Rand verschwindet leider nicht :D also irgendwas stimmt noch nicht, wo muss denn diese letzte Zeile rein?
 

maGG

Bekanntes Mitglied
alles? :O nagut, die switch case verzweigung muss ich aber rausnehmen, wegen den adressen.
Java:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package signatur;


//import javax.swing.JOptionPane;
//import java.io.*;
//import java.util.*;
import java.awt.Color;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JFileChooser;
import java.nio.file.Path;
import javax.swing.BorderFactory;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.Document;
import static javax.swing.text.StyleConstants.Background;

/**
*
* @author david
*/
public class GUI extends javax.swing.JFrame {

    /**
     * Creates new form GUI
     */
    public GUI() {
           //setzt Startwert beim Ausführen des Programms
        initComponents();
        jTextFieldTel.setEnabled(false);
        jTextFieldFax.setEnabled(false);
        jTextAreaAusgabe.setEnabled(false);
        jTextAreaAusgabe.setDisabledTextColor(Color.BLACK);
        jTextFieldMuttersprache.setEnabled(false);
        jTextFieldFremdsprachen.setEnabled(false);
       
       
    }
        //Initialisierung der ganzen Strings
        String
        varVorname = "", varNachname = "", varFunktion = "", varFunktionHtml = "", varFirmierung = "", varStrasze = "",
        varStraszeHtml = "", varOrtPlz = "", varOrtPlzHtml = "", varTel = "", varTelStartGer = "", varTelInt = "",
        varTelStartInt = "", varTelEndDefault = "", varTelEndIndiv = "", varFax = "", varFaxStart = "",
        varFaxEndDefault = "", varFaxEndIndiv = "", varEmailPx = "", varEmailSx = "", varEmailKx = "",
        varOrt = "", htmlFinal = "", txtFinal = "", varSprachkombi = "", varMuttersprache = "",
        varFremdsprache = "", ComboBoxBereich = "";

        //String a1 = "Praktikant", a2 ="Praktikantin"; //erst mal nur als Test gedacht
       
        //Methode für Sonderzeichen/Umlaute
        public String Html(String html){
            html = html.replace("Ä", "&Auml;");
            html = html.replace("ä", "&auml;");
            html = html.replace("Ö", "&Ouml;");
            html = html.replace("ö", "&ouml;");
            html = html.replace("Ü", "&Uuml;");
            html = html.replace("ü", "&uuml;");
            html = html.replace("ß", "&szlig;");
            return html;
        }
        //Methode um die Email richtig zu bilden
        public String eHtml(String ehtml){
            ehtml = ehtml.replace("ä", "ae");
            ehtml = ehtml.replace("ö", "oe");
            ehtml = ehtml.replace("ü", "ue");
            ehtml = ehtml.replace("ß", "sz");
            return ehtml;
        }
       
        //wichtig für ComboboxVerzweigung (ausgelagert)
        public String getjComboBoxFiliale(){
            return "" + jComboBoxFiliale.getSelectedItem();
        }
       
       
       
       
      DocumentListener documentListener = new DocumentListener() {
      @Override
      public void changedUpdate(DocumentEvent documentEvent) {
          jTextFieldVorname.setBorder(new JTextField().getBorder());
      }
      @Override
      public void insertUpdate(DocumentEvent documentEvent) {
          jTextFieldVorname.setBorder(new JTextField().getBorder());
      }
      @Override
      public void removeUpdate(DocumentEvent documentEvent) {
          jTextFieldVorname.setBorder(new JTextField().getBorder());
      }
      };
      //JTextField jTextFieldVorname = new JTextField();
      //jTextFieldVorname.getDocument().addDocumentListener(documentListener);
      //jTextFieldVorname.getDocument().addDocumentListener(new documentListener());
     
     
        //KeyListener keyListener = new KeyListener()

       
        //jTextFieldVorname.getDocument().addDocumentListener(this);
       
        public void keyTyped(KeyEvent e) {
            if(!"".equals(jTextFieldVorname.getText()) || !"<Vorname>".equals(jTextFieldVorname.getText())){
                jTextFieldVorname.setBorder(new JTextField().getBorder());
            }
        }
       
       // JTextField tf = new JTextField();
       
        //JTextField borderDefault = new JTextField();   
        //borderDefault = jTextFieldVorname.getBorder();
        //JTextField borderDefault = new JTextField();
        //JComboBox boxDefault = new JComboBox();
        //LineBorder border = (LineBorder) borderDefault.getBorder();

       
       
        //String testFunktion = "Süßigkeitenverkäufer";
        //String testFunktionNeu = Html(testFunktion);
       
       
        /*public void isEqualToPraktikant() {
        String PraktM = "Praktikant", PraktW = "Praktikantin";   
        String text = jTextFieldFunktion.getText();
        if(text.equals(PraktM) || text.equals(PraktW)) {
            jTextFieldMuttersprache.setEnabled(true);
            jTextFieldFremdsprachen.setEnabled(true);
        }
        else{
            jTextFieldMuttersprache.setEnabled(false);
            jTextFieldFremdsprachen.setEnabled(false);
        }
        }*/


    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        jPanel2 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        jTextFieldVorname = new javax.swing.JTextField();
        jLabelVorname = new javax.swing.JLabel();
        jTextFieldNachname = new javax.swing.JTextField();
        jLabelNachname = new javax.swing.JLabel();
        jLabelFunktion = new javax.swing.JLabel();
        jTextFieldFunktion = new javax.swing.JTextField();
        jComboBoxTitel = new javax.swing.JComboBox<>();
        jToggleButton1 = new javax.swing.JToggleButton();
        jLabel5 = new javax.swing.JLabel();
        jTextFieldMuttersprache = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        jTextFieldFremdsprachen = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        jPanel4 = new javax.swing.JPanel();
        jComboBoxFiliale = new javax.swing.JComboBox<>();
        jLabel2 = new javax.swing.JLabel();
        jCheckBox1 = new javax.swing.JCheckBox();
        jTextFieldTel = new javax.swing.JTextField();
        jCheckBox2 = new javax.swing.JCheckBox();
        jTextFieldFax = new javax.swing.JTextField();
        jComboBoxBereich = new javax.swing.JComboBox<>();
        jButton2 = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTextAreaAusgabe = new javax.swing.JTextArea();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Signatur Ersteller");
        setBackground(new java.awt.Color(115, 145, 255));

        jPanel2.setBackground(new java.awt.Color(233, 255, 153));

        jButton1.setText("Vorschau");
        jButton1.setVerifyInputWhenFocusTarget(false);
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton3.setText("Signatur erstellen!");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addGap(46, 46, 46)
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(46, 46, 46)
                .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jButton3))
                .addContainerGap())
        );

        jPanel3.setBackground(new java.awt.Color(229, 229, 229));

        jTextFieldVorname.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextFieldVornameActionPerformed(evt);
            }
        });

        jLabelVorname.setText("Vorname:");

        jLabelNachname.setText("Nachname:");

        jLabelFunktion.setText("Funktion:");

        jTextFieldFunktion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextFieldFunktionActionPerformed(evt);
            }
        });

        jComboBoxTitel.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Titel", "B.A.", "M.A.", "B.Sc.", "M.Sc.", "Mag.", "Dipl.", "Dipl. (FH)", "Dr." }));
        jComboBoxTitel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBoxTitelActionPerformed(evt);
            }
        });

        jToggleButton1.setText("Sprachkombi");
        jToggleButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jToggleButton1ActionPerformed(evt);
            }
        });

        jLabel5.setText("Muttersprache:");

        jLabel6.setText("Fremdsprachen:");

        jTextFieldFremdsprachen.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextFieldFremdsprachenActionPerformed(evt);
            }
        });

        jLabel3.setText("(z.B. Projektmanagement, Praktikant, etc.)");

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGap(6, 6, 6)
                        .addComponent(jLabelVorname)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jTextFieldVorname, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(24, 24, 24)
                        .addComponent(jLabelNachname)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jTextFieldNachname, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 30, Short.MAX_VALUE)
                        .addComponent(jComboBoxTitel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel3Layout.createSequentialGroup()
                                .addGap(6, 6, 6)
                                .addComponent(jLabelFunktion)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jTextFieldFunktion, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(jLabel3))
                            .addGroup(jPanel3Layout.createSequentialGroup()
                                .addComponent(jToggleButton1)
                                .addGap(24, 24, 24)
                                .addComponent(jLabel5)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jTextFieldMuttersprache, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(33, 33, 33)
                                .addComponent(jLabel6)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jTextFieldFremdsprachen, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelVorname)
                    .addComponent(jTextFieldVorname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelNachname)
                    .addComponent(jTextFieldNachname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jComboBoxTitel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(23, 23, 23)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelFunktion)
                    .addComponent(jTextFieldFunktion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3))
                .addGap(18, 18, 18)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jToggleButton1)
                    .addComponent(jLabel5)
                    .addComponent(jTextFieldMuttersprache, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel6)
                    .addComponent(jTextFieldFremdsprachen, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(19, Short.MAX_VALUE))
        );

        jPanel4.setBackground(new java.awt.Color(229, 229, 229));

        jComboBoxFiliale.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Filiale", "Frankfurt am Main (Zentrale)", "Frankfurt am Main (Hauptwache)", "Aachen", "Augsburg", "Berlin", "Bielefeld", "Bochum", "Bonn", "Braunschweig", "Bremen", "Darmstadt", "Dortmund", "Dresden", "Duisburg", "Düsseldorf", "Essen", "Freiburg", "Friedrichshafen", "Hamburg", "Hannover", "Heilbronn", "Ingolstadt", "Kaiserslautern", "Karlsruhe", "Kassel", "Kiel", "Köln", "Leipzig", "Mainz", "Mannheim", "Mönchengladbach", "München", "Münster", "Nürnberg", "Offenbach am Main", "Regensburg", "Saarbrücken", "Schweinfurt", "Stuttgart", "Ulm", "Weil am Rhein", "Wiesbaden", "Wuppertal", "Würzburg" }));
        jComboBoxFiliale.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBoxFilialeActionPerformed(evt);
            }
        });

        jLabel2.setText("Individuellen Endungen:");

        jCheckBox1.setText("Tel.-Endung:");
        jCheckBox1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBox1ActionPerformed(evt);
            }
        });

        jCheckBox2.setText("Fax-Endung:");
        jCheckBox2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBox2ActionPerformed(evt);
            }
        });

        jComboBoxBereich.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Bereich", "AG", "Training", "CEF" }));
        jComboBoxBereich.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBoxBereichActionPerformed(evt);
            }
        });

        jButton2.setText("jButton2");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addGap(18, 18, 18)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jComboBoxBereich, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jComboBoxFiliale, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel4Layout.createSequentialGroup()
                                .addComponent(jCheckBox1)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(jTextFieldTel, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, Short.MAX_VALUE))
                            .addGroup(jPanel4Layout.createSequentialGroup()
                                .addComponent(jCheckBox2)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(jTextFieldFax, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jButton2)
                .addGap(47, 47, 47))
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jComboBoxFiliale, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2)
                    .addComponent(jComboBoxBereich, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCheckBox1)
                    .addComponent(jTextFieldTel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jCheckBox2)
                    .addComponent(jTextFieldFax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 7, Short.MAX_VALUE)
                .addComponent(jButton2))
        );

        jTextAreaAusgabe.setColumns(20);
        jTextAreaAusgabe.setRows(5);
        jScrollPane1.setViewportView(jTextAreaAusgabe);

        jPanel1.setBackground(java.awt.Color.blue);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel1.setForeground(new java.awt.Color(255, 255, 255));
        jLabel1.setText("Version 1.0 - für Standorte in Deutschland. ");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jScrollPane1)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 150, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        pack();
    }// </editor-fold>                       

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
       
        //leerte die TextArea bei mehrmals Klicken
        jTextAreaAusgabe.setText("");
      
        //Vorname, Nachname, Funktion
        varVorname = jTextFieldVorname.getText();
        varNachname = jTextFieldNachname.getText();
        varFunktion = jTextFieldFunktion.getText();
       
        //hier kommt die if-else-Verzweigung hin
       
       
        //setzt Platzhalter, wenn Felder nicht ausgefüllt (nur für Vorschau-Button)
        if("".equals(varVorname)){
            varVorname = "<Vorname>";
        }
        if("".equals(varNachname)){
            varNachname = "<Nachname>";
        }
        if("".equals(varFunktion)){
            varFunktion = "<Funktion>";
        }
        if("".equals(varFirmierung)){
            varFirmierung = "<Firmierung>";
        }
        if("".equals(varStrasze)){
            varFirmierung = "<Straße-Nr>";
        }
        if("".equals(varOrtPlz)){
            varOrtPlz = "<PLZ-Ort>";
        }
        if("".equals(varTel)){
            varTel = "<Telefon>";
        }
        if("".equals(varFax)){
            varFax = "<Fax>";
        }
        if("".equals(varEmailPx)){
            varEmailPx = "<Email-Persönlich>";
        }
        if("".equals(varEmailSx)){
            varEmailSx = "<Email-Filiale>";
        }
        if("".equals(varEmailKx)){
            varEmailKx = "<Email-Kern>";
        }
       
        Person person = new Person(varVorname, varNachname, varFunktion);
            

        Standort standort = new Standort(varFirmierung, varStrasze, varOrtPlz);
        varEmailKx = "e-kern.de";
        Kontakt kontakt = new Kontakt(varTel, varFax, varEmailPx, varEmailSx, varEmailKx);
       
        jTextAreaAusgabe.setText("Mit freundlichen Grüßen\n\n" +
                person.toPerson() + "\n\n" +
                standort.toStandort() + "\n\n" +
                kontakt.toKontakt());
    }                                       

    private void jTextFieldFremdsprachenActionPerformed(java.awt.event.ActionEvent evt) {                                                       
        // TODO add your handling code here:
    }                                                      

    private void jComboBoxFilialeActionPerformed(java.awt.event.ActionEvent evt) {                                                

        String ComboBoxFiliale = "" + jComboBoxFiliale.getSelectedItem(); //holt sich die Werte als String

        //comboverzweigung(); //sollte eigentlich ausgelagert werden
       
        switch(ComboBoxFiliale){
                .... -> hier hab ich was rausgelöscht
                varTelStartInt = "";
                varTelEndDefault = "";
                varFaxStart = "";
                varFaxEndDefault = "";
                break;
        } 
    }                                               

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                        
       
        String TextAreaAusgabe = ""; //Testfeld leeren am Anfang
        String homeDirectory = new JFileChooser().getFileSystemView().getHomeDirectory().toString(); //Pfadd für den Desktop
        varVorname = jTextFieldVorname.getText();
        varNachname = jTextFieldNachname.getText();
        varFunktion = jTextFieldFunktion.getText();
        varFunktionHtml = Html(varFunktion);
               
        //Bereich
       
        //wenn die Namensfelder frei gelassen werden passiert nichts
        if("".equals(varVorname) || "".equals(varNachname) || "".equals(varFunktion) ||
            "".equals(jComboBoxBereich.getSelectedItem()) || "Bereich".equals(jComboBoxBereich.getSelectedItem()) ||
            "".equals(jComboBoxFiliale.getSelectedItem()) || "Filiale".equals(jComboBoxFiliale.getSelectedItem())){ //müsste noch erweitert werden mit all den anderen Feldern.
            TextAreaAusgabe += "Fehler: Bitte alle notwendigen Felder ausfüllen.\n";
            jPanel2.setBackground(Color.RED);
           
            if("".equals(varVorname)){
                jTextFieldVorname.setBorder(BorderFactory.createLineBorder(Color.RED));
            }
            if("".equals(varNachname)){
                jTextFieldNachname.setBorder(BorderFactory.createLineBorder(Color.RED));
            }
            if("".equals(varFunktion)){
                jTextFieldFunktion.setBorder(BorderFactory.createLineBorder(Color.RED));
            }
            if("".equals(jComboBoxBereich.getSelectedItem()) || "Bereich".equals(jComboBoxBereich.getSelectedItem())){
                //jComboBoxBereich.setBorder(BorderFactory.createLineBorder(Color.RED));
                jComboBoxBereich.setBackground(Color.RED);
            }
            if("".equals(jComboBoxFiliale.getSelectedItem()) || "Filiale".equals(jComboBoxFiliale.getSelectedItem())){
                //jComboBoxFiliale.setBorder(BorderFactory.createLineBorder(Color.RED));
                jComboBoxFiliale.setBackground(Color.RED);
            }
        }else{
            //setzt Panel auf Grün, Farbe könnte man noch schöner machen
            jPanel2.setBackground(Color.GREEN);
           
            varTelEndIndiv = jTextFieldTel.getText();
            varFaxEndIndiv = jTextFieldFax.getText();
           
            //prüfe wie Nummern zusammengesetzt werden (ob individuelle Nr. oder nicht)
            if("".equals(jTextFieldTel.getText()) || !jTextFieldTel.isEnabled()){ //Telefon bei keiner Eingabe
                //varTel = varTelStartGer + varTelEndDefault;
                varTel = varTelStartGer.concat(varTelEndDefault);
               
                varTelInt = varTelStartInt + varTelEndDefault;
            }else if(!"".equals(jTextFieldTel.getText()) || jTextFieldTel.isEnabled()){ //Telefon bei Eingabe
                //varTel = varTelStartGer + varTelEndIndiv;
                varTel = varTelStartGer.concat(varTelEndIndiv);
                varTelInt = varTelStartInt + varTelEndIndiv;
            }
            if("".equals(jTextFieldFax.getText()) || !jTextFieldFax.isEnabled()){ //Fax bei keiner Engabe
                varFax = varFaxStart + varFaxEndDefault;
                //varFax = varFaxStart.concat(varFaxEndDefault);
            }else if(!"".equals(jTextFieldFax.getText()) || jTextFieldFax.isEnabled()){ //Fax bei Eingabe
                varFax = varFaxStart + varFaxEndIndiv;
                //varFax = varFaxStart.concat(varFaxEndIndiv);
            }
           
            //Sprachkombination
            varMuttersprache = jTextFieldMuttersprache.getText();
            varFremdsprache = jTextFieldFremdsprachen.getText();
           
            if("".equals(jTextFieldMuttersprache.getText()) || "".equals(jTextFieldFremdsprachen.getText())){
                varSprachkombi = "";
            }else if(!"".equals(jTextFieldMuttersprache.getText()) || !"".equals(jTextFieldFremdsprachen.getText())){
                varSprachkombi = " (" + varFremdsprache + " &rarr; " + varMuttersprache + ")";
            }
           
           
           
           
            //Combobox mit Bereichsauswahl -> html
            if(jComboBoxBereich.getSelectedItem() == "AG"){
                HtmlAG html = new HtmlAG(Html(varVorname), Html(varNachname), Html(varFunktion), Html(varStrasze), Html(varOrtPlz), varTel, varTelInt, varFax, varOrt, varSprachkombi);
                htmlFinal = html.toHtmlAG(); //String Ausgabe
            }else if (jComboBoxBereich.getSelectedItem() == "Training"){
                HtmlTR html = new HtmlTR(varVorname, varNachname, varFunktion, varStraszeHtml, varOrtPlzHtml, varTel, varTelInt, varFax, varOrt);
                htmlFinal = html.toHtmlTR(); //String Ausgabe
            }else if(jComboBoxBereich.getSelectedItem() == "CEF"){
                HtmlCEF html = new HtmlCEF(varVorname, varNachname, varFunktion, varStraszeHtml, varOrtPlzHtml, varTel, varTelInt, varFax, varOrt);
                htmlFinal = html.toHtmlCEF(); //funktioniert noch nicht, gibt im Moment nur ein "" zurück
            }
           
            //Combobox mit Bereichsauswahl -> txt
            if(jComboBoxBereich.getSelectedItem() == "AG"){
                TxtAG txt = new TxtAG(varVorname, varNachname, varFunktion, varStrasze, varOrtPlz, varTel, varFax,  varOrt);
                txtFinal = txt.toTxtAG();
            }else if (jComboBoxBereich.getSelectedItem() == "Training"){
                TxtTR txt = new TxtTR(varVorname, varNachname, varFunktion, varStrasze, varOrtPlz, varTel, varFax,  varOrt);
                txtFinal = txt.toTxtTR();
            }else if(jComboBoxBereich.getSelectedItem() == "CEF"){
           
            }
           
 
                    
            String pathname = homeDirectory + "\\" + varVorname + " " + varNachname;
            File folder = new File(pathname);

            try{
                if(folder.exists()){
                    TextAreaAusgabe += "Fehler: Die Ordnerstruktur wurde bereits erstellt.\n";
                }else{
                    folder.mkdir();
                    TextAreaAusgabe += "Die Ordnerstruktur wurde erfolgreich erstellt.\n";
                }
            }catch(Exception e){
                e.printStackTrace();
            }
           
            File Fbat = new File(homeDirectory + "\\" + varVorname + " " + varNachname + "\\" + "Signatur.bat");
            //Inhalt der .bat Datei - ist ziemlich kurz, deswegen nicht ausgelagert
            String bat = "@echo off\nmd %APPDATA%\\Microsoft\\Signatures 1>nul 2>nul\necho.\necho.\n"
                       + "echo -------------------------------------------------------------------\n"
                       + "echo --Verzeichnis \"Signatures\" wurde erstellt oder existiert bereits!--\n"
                       + "echo -------------------------------------------------------------------\n"
                       + "echo.\necho.\npause\ncopy *.htm %APPDATA%\\Microsoft\\Signatures /Y 1>nul 2>nul\n"
                       + "copy *.txt %APPDATA%\\Microsoft\\Signatures /Y 1>nul 2>nul\necho.\necho.\n"
                       + "echo ---------------------------------\necho ----------- Fertig! -------------\n"
                       + "echo ---------------------------------\necho --Die Signaturen wurden kopiert--\n"
                       + "echo ---------------------------------\necho.\necho.\npause\nexit";
           
            //Bat bat = new Bat(); //wollte eigentlich den bat String auslager, hat aber irgendwie nicht so richtig funktioniert
           
            try {
                BufferedWriter bw = new BufferedWriter(new FileWriter(Fbat));
                bw.write(bat);
                bw.close();
                TextAreaAusgabe += "- bat Datei wurde erfolgreich erstellt.\n";
            } catch(IOException e){
                TextAreaAusgabe += "Es gabe einen Fehler, die bat Datei konnte nicht erstellt werden\n";
            }
           
            //nur als Test gedacht, braucht noch ne Verzweiung etc.
            //String a = "test", b = "test", c = "test", d = "test", e = "test", f = "test", g = "test", h = "test", i = "test";
           
            //hier wird die html Datei erstellt
            //HtmlAG html = new HtmlAG(a, b, c, d, e, f, g, h, i);
            File Fhtml = new File(homeDirectory + "\\" + varVorname + " " + varNachname + "\\" + varVorname + " " + varNachname + ".html");
            try {
                BufferedWriter bw = new BufferedWriter(new FileWriter(Fhtml));
                bw.write(htmlFinal);
                bw.close();
                TextAreaAusgabe += "- html Datei wurde erfolgreich erstellt.\n";
            } catch(IOException ee){
                TextAreaAusgabe += "Es gab einen Fehler, die html Datei konnte nicht erstellt werden.\n";
            }
           
            //hier wird die txt Datei erstellt
            File Ftxt = new File(homeDirectory + "\\" + varVorname + " " + varNachname + "\\" + varVorname + " " + varNachname + ".txt");
            try {
                BufferedWriter bw = new BufferedWriter(new FileWriter(Ftxt));
                bw.write(txtFinal);
                bw.close();
                TextAreaAusgabe += "- txt Datei wurde erfolgreich erstellt.\n";
            } catch(IOException eee){
                TextAreaAusgabe += "Es gab einen Fehler, die txt Datei konnte nicht erstellt werden.\n";
            }
           
            TextAreaAusgabe += "Die Dateien befinden sich auf dem Desktop.";
        }
       

       
        jTextAreaAusgabe.setText(TextAreaAusgabe); //muss am Ende stehen, damit Ausgame zusammensetzt
    }                                       

    private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
        // TODO add your handling code here:
       
       
        String PraktM = "Praktikant", PraktW = "Praktikantin";   
        String text = jTextFieldFunktion.getText();
        if(text.equals(PraktM) || text.equals(PraktW)) {
            jToggleButton1.setSelected(true);
            jTextFieldMuttersprache.setEnabled(true);
            jTextFieldFremdsprachen.setEnabled(true);
            jTextAreaAusgabe.setText("");
        }
        else{
            jToggleButton1.setSelected(false);
            jTextFieldMuttersprache.setEnabled(false);
            jTextFieldFremdsprachen.setEnabled(false);
            jTextFieldMuttersprache.setText(""); //leert das Feld nach disable
            jTextFieldFremdsprachen.setText(""); //leert das Feld n ach disable
            //JOptionPane.showMessageDialog(null, "Sprachkombination nur bei Praktikant/in\nBitte versuchene Sie es erneut", "Funktion stimmt nicht überein", JOptionPane.ERROR_MESSAGE);
            jTextAreaAusgabe.setText("Bitte die korrekte Funktion benutzen:\nVersuche: 'Praktikant' oder 'Praktikantin'");
        }
        
   
    }                                             
   
    private void jTextFieldVornameActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        // TODO add your handling code here:

        //jTextFieldVorname.addKeyListener(keyListener);
        jTextFieldVorname.getDocument().addDocumentListener(documentListener);
        //jTextFieldVorname.getDocument().addDocumentListener(new documentListener());
        //jTextFieldVorname.keyTyped();
       
    }                                                

    private void jComboBoxBereichActionPerformed(java.awt.event.ActionEvent evt) {                                                
        /*ComboBoxBereich = "" + jComboBoxTitel.getSelectedItem();
       
        if("Bereich".equals(ComboBoxBereich)){
            ComboBoxBereich = "";
        }*/
    }                                               

    private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        if(jCheckBox1.isSelected()){
            jTextFieldTel.setEnabled(true);
        }else{
            jTextFieldTel.setEnabled(false);
            jTextFieldTel.setText(""); //leert das Feld, nach disable -> wichtif für die if-Verzweigungen
        }
    }                                         

    private void jCheckBox2ActionPerformed(java.awt.event.ActionEvent evt) {                                          
        if(jCheckBox2.isSelected()){
            jTextFieldFax.setEnabled(true);
        }else{
            jTextFieldFax.setEnabled(false);
            jTextFieldFax.setText(""); //leert das Feld, nach disable -> wichtif für die if-Verzweigungen
        }
    }                                         

    private void jTextFieldFunktionActionPerformed(java.awt.event.ActionEvent evt) {                                                  
        // TODO add your handling code here:
    }                                                 

    private void jComboBoxTitelActionPerformed(java.awt.event.ActionEvent evt) {                                              
   
        String ComboBoxTitel = "" + jComboBoxTitel.getSelectedItem();
        String titelHinten = "", titelVorn = "";
       
        switch(ComboBoxTitel){
            case "B.A.":
               titelHinten = ", B.A.";
               break;
            case "M.A.":
                titelHinten = ", M.A.";
                break;
            case "B.Sc.":
                titelHinten = ", B.Sc.";
                break;
            case "M.Sc.":
                titelHinten = ", M.Sc";
                break;
            case "Mag.":
                titelVorn = "Mag. ";
                break;
            case "Dipl.":
                titelVorn = "Dipl. ";
                break;
            case "Dipl. (FH)":
                titelVorn = "Dipl. (FH) ";
                break;
            case "Dr.":
                titelVorn = "Dr. ";
                break;
            default:
                titelHinten = "";
                titelVorn = "";
                break;
        }       
    }                                             

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
        //LineBorder border = (LineBorder) borderDefault.getBorder();
        /*Border border = (Border) borderDefault.getBorder();
        jTextFieldVorname.setBorder(border);*/
        jTextFieldVorname.setBorder(new JTextField().getBorder());
        jTextFieldNachname.setBorder(new JTextField().getBorder());
        jTextFieldFunktion.setBorder(new JTextField().getBorder());
        jComboBoxBereich.setBackground(new JComboBox().getBackground());
        jComboBoxFiliale.setBackground(new JComboBox().getBackground());
       
    }                                       

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(GUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new GUI().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                    
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JCheckBox jCheckBox1;
    private javax.swing.JCheckBox jCheckBox2;
    private javax.swing.JComboBox<String> jComboBoxBereich;
    private javax.swing.JComboBox<String> jComboBoxFiliale;
    private javax.swing.JComboBox<String> jComboBoxTitel;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabelFunktion;
    private javax.swing.JLabel jLabelNachname;
    private javax.swing.JLabel jLabelVorname;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jTextAreaAusgabe;
    private javax.swing.JTextField jTextFieldFax;
    private javax.swing.JTextField jTextFieldFremdsprachen;
    private javax.swing.JTextField jTextFieldFunktion;
    private javax.swing.JTextField jTextFieldMuttersprache;
    private javax.swing.JTextField jTextFieldNachname;
    private javax.swing.JTextField jTextFieldTel;
    private javax.swing.JTextField jTextFieldVorname;
    private javax.swing.JToggleButton jToggleButton1;
    // End of variables declaration                  
}
 

maGG

Bekanntes Mitglied
ok Danke für den Hinweis :D was meinst du mit "von hinten durch die Brust ins Auge" :D
Ich bin schon froh das es überhaupt funktioniert. Es gäbe wahrscheinlich noch ne bessere Idee, den Nutzer darüber zu informieren, welche Felder er ausgelassen hat, aber mir ist nur diese eingefallen. Ich bin ja kein Programmierer. Ich hatte ein Semester Grundlagen der Ingenieurinformatik gehört, wo wir mega basic stuff zu Java gelernt haben, das ist alles und jetzt versuche ich mich einfach mal. Das ist das erste Programm was ich je geschrieben hab.
 

mrBrown

Super-Moderator
Mitarbeiter
was meinst du mit "von hinten durch die Brust ins Auge" :D
Naja, du erstellst ein neues TextFeld, um dessen Border dann einem anderem zu geben...
Du könntest einfach eine passende Border erstellen und die setzten.


Und der Code ist halt schon echt suboptimal...du erbst von Frame, du hast irgendwie alles in einer Klasse, die Benennung ist eher schlecht...
 

maGG

Bekanntes Mitglied
Ah ok das meinst du, ja die Benennung kann ich ja noch ändern. Und das mit dem Auslagern geht ja in Java nicht so, wie es für mich sinnvoll wäre. Das mit dem Frame ist eigentlich standard bei Benutzeroberfläche glaube ich, zu mindest in Netbeans.
Das mit dem Border habe ich gemacht, weil der Border nicht nur aus einem Lineborder besteht und die default Werte habe ich nicht gefunden/dauert Ewigkeiten die alle rauszusuchen. So kann ich mir halt easy den Zustand holen, bevor der Lineborder gesetzt wurde - also genau das was ich wollte mit nur einer Zeile Code.
 

Joose

Top Contributor
Und das mit dem Auslagern geht ja in Java nicht so, wie es für mich sinnvoll wäre.
Es sollte eben so weit sinnvoll sein um doppelten Code zu vermeiden und bestimmte Codestücke wiederverwenden zu können.

Das mit dem Frame ist eigentlich standard bei Benutzeroberfläche glaube ich, zu mindest in Netbeans.
Nein es wird nur in (sehr) vielen Tutorials falsch vorgezeigt. Heißt nicht das es Standard ist bzw. so gemacht werden sollte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Methoden Action Event wird nicht vollständig ausgeführt Java Basics - Anfänger-Themen 3
D Button action Event einblenden/ausblenden Java Basics - Anfänger-Themen 6
P ActionListener Action Event Java Basics - Anfänger-Themen 5
G Button Action Event starten Java Basics - Anfänger-Themen 4
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
L Wie geht man bei mehreren Action Klassen vor? Java Basics - Anfänger-Themen 0
CptK Interface JTextField: Action mit Enter ausführen Java Basics - Anfänger-Themen 16
D Java Action abkürzen Java Basics - Anfänger-Themen 9
D JButton in JDialog mit Action belgen Java Basics - Anfänger-Themen 6
M Compiler-Fehler Using action listener Java Basics - Anfänger-Themen 1
O Laufender Timer+Action Listener in Thread VS isAlive() Java Basics - Anfänger-Themen 4
T Button Text mit Action Listener [Hilfe!] Java Basics - Anfänger-Themen 10
G Erste Schritte Action soll zwei sachen ausführen Java Basics - Anfänger-Themen 7
G über JButton Action einen anderen Button verändern Java Basics - Anfänger-Themen 7
D Methoden aus Action Listenern aufrufen Java Basics - Anfänger-Themen 7
G textarea action Java Basics - Anfänger-Themen 5
N Variablen aus Action Listener lesen und weiterverarbeiten Java Basics - Anfänger-Themen 12
W OOP Action Listening und MVC-Modell Java Basics - Anfänger-Themen 3
Devil0s while loop, Button action Java Basics - Anfänger-Themen 8
N Klassen auf den Action Listener in einer andere Klasse zugreifen Java Basics - Anfänger-Themen 6
A action listener Java Basics - Anfänger-Themen 8
K Action Listener reagiert nicht auf Button druck mehr??? Java Basics - Anfänger-Themen 4
J Action Listener Java Basics - Anfänger-Themen 2
M Frage zur Methode Action.putValue(String,Object) Java Basics - Anfänger-Themen 5
S Action Listener Java Basics - Anfänger-Themen 6
M Action als neue Klasse Java Basics - Anfänger-Themen 2
Developer_X Action über rotes X in der Eke eines JFrames entscheiden. Java Basics - Anfänger-Themen 15
S Action Listener Funktioniert nicht Java Basics - Anfänger-Themen 6
G Nicht benannte Buttons - Wenn gedrückt > Action Java Basics - Anfänger-Themen 24
G Frage zur Action? Java Basics - Anfänger-Themen 4
G nach action Script aufrufen Java Basics - Anfänger-Themen 3
D problem mit einem action Java Basics - Anfänger-Themen 6
E Action und Accelerator Java Basics - Anfänger-Themen 2
S Problem mit Action Listener Java Basics - Anfänger-Themen 7
M Fehler im Action Listener Java Basics - Anfänger-Themen 9
megachucky Action-/Change Listener funktionieren nicht. Java Basics - Anfänger-Themen 2
G Auswahl in DropDown feldern in JSP seiten als Action Aufruf Java Basics - Anfänger-Themen 2
C Frage bzgl. action von Button Java Basics - Anfänger-Themen 6
B Oberflaecheprog einfaches beispiel (button action listener) Java Basics - Anfänger-Themen 5
Fiedelbambu fxml onAction event Java Basics - Anfänger-Themen 7
T FXMl Event has not a Slot Java Basics - Anfänger-Themen 1
Tommy135 Event erstellen Java Basics - Anfänger-Themen 7
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
topi WindowAdapter / Listener / Event Java Basics - Anfänger-Themen 4
L Event schmeißen Java Basics - Anfänger-Themen 1
F In Eclipse Haltepunkt bei Event setzen? Java Basics - Anfänger-Themen 1
T Übungsaufgabe Event Handling Java Basics - Anfänger-Themen 0
V Button/Event wird nicht ausgeführt, was tun? Java Basics - Anfänger-Themen 2
J Keyboard Event auch ohne Fokus mitbekommen Java Basics - Anfänger-Themen 2
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
IngoF Welches Event kommt wann? Java Basics - Anfänger-Themen 8
A Key Event - Abfrage von 2 gedrückten Tasten Java Basics - Anfänger-Themen 6
E Event gesucht Java Basics - Anfänger-Themen 1
G Button Event Java Basics - Anfänger-Themen 6
Thallius Hidden Feature über Key Event starten Java Basics - Anfänger-Themen 4
A Labels Inner JButton Event Erstellbar? Java Basics - Anfänger-Themen 3
F Erste Schritte Aktuelles Fenster durch Event schließen Java Basics - Anfänger-Themen 3
U Threadsafe Event-Handling Java Basics - Anfänger-Themen 2
C Klassen NullPointerException beim Event Handling in GUI Java Basics - Anfänger-Themen 8
J Erste Schritte import awt.* ;awt.event.*; Java Basics - Anfänger-Themen 3
T event und while-schleife Java Basics - Anfänger-Themen 26
L Null Pointer Exception bei Focus Event bei einem JTextField Java Basics - Anfänger-Themen 2
M Während event einen anderen event ausführen?? Java Basics - Anfänger-Themen 3
S Event aus anderer Klasse als Auslöser Java Basics - Anfänger-Themen 5
M Event erstellen Java Basics - Anfänger-Themen 6
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
D Eigenes Event beim TimeOut Java Basics - Anfänger-Themen 2
D Auf Event warten Java Basics - Anfänger-Themen 4
I AWS Event Notification Service Sample ausführen... Java Basics - Anfänger-Themen 7
M JList Event Java Basics - Anfänger-Themen 5
Houly while Schleife im ActionPerformed Event Java Basics - Anfänger-Themen 8
R eigenen Event schreiben Java Basics - Anfänger-Themen 16
S Kein Event bei Click auf JComboBox Java Basics - Anfänger-Themen 4
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
Q Eigenes Event feuern Java Basics - Anfänger-Themen 5
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
R Event in eigener Klasse implementieren ? Java Basics - Anfänger-Themen 8
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
D Window resize Event ? Java Basics - Anfänger-Themen 5
D Bei Event soll Instanz sich selbst löschen Java Basics - Anfänger-Themen 4
D Event mit n-Button8s) von einem Panel Java Basics - Anfänger-Themen 9
GilbertGrape Eigenes Event? Java Basics - Anfänger-Themen 2
A Synchronisierung oder gibt es das onChange event? Java Basics - Anfänger-Themen 4
J Automatisch Button drücken/Event ausführen? Java Basics - Anfänger-Themen 6
G Methode nicht im Event-Dispatcher-Thread starten? Java Basics - Anfänger-Themen 2
F Doppelklick-Event auf JTree Java Basics - Anfänger-Themen 5
A Wo/Wie Event Listener Java Basics - Anfänger-Themen 3
N Event auf JTabbedPane abfragen ? Java Basics - Anfänger-Themen 8
G Event Handler Java Basics - Anfänger-Themen 7
T button event Java Basics - Anfänger-Themen 3
P Raw-Key-Event Java Basics - Anfänger-Themen 4
Q ActionListener event bei JPanels Java Basics - Anfänger-Themen 5
J Event-Handling geht nicht Java Basics - Anfänger-Themen 6
G Button event problem Java Basics - Anfänger-Themen 24
B Eigenes Event schreiben Java Basics - Anfänger-Themen 7
D MouseLister und Identifikation des Event - Buttons Java Basics - Anfänger-Themen 4
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
T java.awt.event.WindowAdapter Java Basics - Anfänger-Themen 2
B Event-Actionlistener(Def) Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben