Program: 45132
Project: 45132
Buggy source:
/** 
 * <p>Diese Methode baut das JPanel (also das Objekt selbst, da es von JPanel erbt) zusammen. Dieses fasst die Tabelle mit Host-Einstellungen und diverse GUI-Elemente.</p> <p>Die Tabelle wird mit den Werten aus der im Haupt-GUI gehaltenen Matrix gefuettert. Es werden jedoch nicht alle Felder der Matrix genutzt, da beispielsweise das Anzeigen von Passwoertern keinen Sinn macht, da diese maskiert dargestellt werden. Fuer das Generieren der Tabelledaten ist die Methode <i>generateTableData()</i> zustaendig.</p> <p>Es existiert nur ein einziger Listener, der <i>SettingsButtonListener</i>, welcher allen  Knoepfen hinzugefuegt wird.</p>
 * @see #generateTableData()
 */
private void drawTab(){
  this.setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
  this.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
  Box custInfoBoxWrapper_ref=new Box(BoxLayout.X_AXIS);
  Box custInfoBox_ref=new Box(BoxLayout.Y_AXIS);
  custInfoBox_ref.setBorder(new TitledBorder("String_Node_Str"));
  custInfoBox_ref.add(Box.createVerticalStrut(5));
  custInfoBox_ref.add(new JLabel("String_Node_Str"));
  custInfoBox_ref.add(new JLabel("String_Node_Str"));
  custInfoBoxWrapper_ref.add(custInfoBox_ref);
  custInfoBoxWrapper_ref.add(Box.createHorizontalStrut(10));
  ImageIcon hostIcon_ref=new ImageIcon(ClassLoader.getSystemResource("String_Node_Str"));
  custInfoBoxWrapper_ref.add(new JLabel(hostIcon_ref));
  custInfoBoxWrapper_ref.add(Box.createHorizontalStrut(10));
  this.add(custInfoBoxWrapper_ref);
  hostTable_ref=new JTable();
  hostTable_ref.setPreferredScrollableViewportSize(new Dimension(800,250));
  hostTableMod_ref=new DefaultTableModel(generateTableData(),HOST_TABLENAMES);
  hostTable_ref.setModel(hostTableMod_ref);
  hostTable_ref.setDefaultRenderer(Object.class,new DefaultTableCellRenderer());
  JScrollPane tableScroller_ref=new JScrollPane(hostTable_ref);
  hostTable_ref.getColumnModel().getColumn(0).setPreferredWidth(60);
  hostTable_ref.getColumnModel().getColumn(1).setPreferredWidth(70);
  hostTable_ref.getColumnModel().getColumn(2).setPreferredWidth(10);
  hostTable_ref.getColumnModel().getColumn(3).setPreferredWidth(35);
  hostTable_ref.getColumnModel().getColumn(4).setPreferredWidth(5);
  hostTable_ref.getColumnModel().getColumn(6).setPreferredWidth(20);
  ((DefaultTableCellRenderer)hostTable_ref.getDefaultRenderer(hostTable_ref.getColumnClass(0))).setHorizontalAlignment(SwingConstants.CENTER);
  tableScroller_ref.setBorder(new TitledBorder("String_Node_Str"));
  tableScroller_ref.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
  tableScroller_ref.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  this.add(tableScroller_ref);
  Box setADBox_ref=new Box(BoxLayout.X_AXIS);
  ImageIcon deleteIcon_ref=new ImageIcon(ClassLoader.getSystemResource("String_Node_Str"));
  ImageIcon addIcon_ref=new ImageIcon(ClassLoader.getSystemResource("String_Node_Str"));
  ImageIcon setResetIcon_ref=new ImageIcon(ClassLoader.getSystemResource("String_Node_Str"));
  ImageIcon setEditIcon_ref=new ImageIcon(ClassLoader.getSystemResource("String_Node_Str"));
  JButton addButton_ref=new JButton("String_Node_Str",addIcon_ref);
  addButton_ref.setToolTipText("String_Node_Str");
  addButton_ref.addActionListener(new SettingsHostButtonListener());
  JButton editButton_ref=new JButton("String_Node_Str",setEditIcon_ref);
  editButton_ref.setToolTipText("String_Node_Str");
  editButton_ref.addActionListener(new SettingsHostButtonListener());
  JButton delButton_ref=new JButton("String_Node_Str",deleteIcon_ref);
  delButton_ref.setToolTipText("String_Node_Str");
  delButton_ref.addActionListener(new SettingsHostButtonListener());
  JButton setResetBut_ref=new JButton("String_Node_Str",setResetIcon_ref);
  setResetBut_ref.setToolTipText("String_Node_Str");
  setResetBut_ref.addActionListener(new SettingsHostButtonListener());
  setADBox_ref.add(addButton_ref);
  setADBox_ref.add(Box.createHorizontalStrut(5));
  setADBox_ref.add(editButton_ref);
  setADBox_ref.add(Box.createHorizontalStrut(5));
  setADBox_ref.add(delButton_ref);
  setADBox_ref.add(Box.createHorizontalStrut(5));
  setADBox_ref.add(setResetBut_ref);
  this.add(setADBox_ref);
  this.add(Box.createVerticalStrut(5));
}

Fixed version (ground truth):
/** 
 * <p>Diese Methode baut das JPanel (also das Objekt selbst, da es von JPanel erbt) zusammen. Dieses fasst die Tabelle mit Host-Einstellungen und diverse GUI-Elemente.</p> <p>Die Tabelle wird mit den Werten aus der im Haupt-GUI gehaltenen Matrix gefuettert. Es werden jedoch nicht alle Felder der Matrix genutzt, da beispielsweise das Anzeigen von Passwoertern keinen Sinn macht, da diese maskiert dargestellt werden. Fuer das Generieren der Tabelledaten ist die Methode <i>generateTableData()</i> zustaendig.</p> <p>Es existiert nur ein einziger Listener, der <i>SettingsButtonListener</i>, welcher allen  Knoepfen hinzugefuegt wird. Die Tabelle erhaelt zudem ein CustomTableModel, um sie vor Zugriffen zu schuetzen.</p>
 * @see #generateTableData()
 */
private void drawTab(){
  this.setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
  this.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
  Box custInfoBoxWrapper_ref=new Box(BoxLayout.X_AXIS);
  Box custInfoBox_ref=new Box(BoxLayout.Y_AXIS);
  custInfoBox_ref.setBorder(new TitledBorder("String_Node_Str"));
  custInfoBox_ref.add(Box.createVerticalStrut(5));
  custInfoBox_ref.add(new JLabel("String_Node_Str"));
  custInfoBox_ref.add(new JLabel("String_Node_Str"));
  custInfoBoxWrapper_ref.add(custInfoBox_ref);
  custInfoBoxWrapper_ref.add(Box.createHorizontalStrut(10));
  ImageIcon hostIcon_ref=new ImageIcon(ClassLoader.getSystemResource("String_Node_Str"));
  custInfoBoxWrapper_ref.add(new JLabel(hostIcon_ref));
  custInfoBoxWrapper_ref.add(Box.createHorizontalStrut(10));
  this.add(custInfoBoxWrapper_ref);
  hostTable_ref=new JTable();
  hostTable_ref.setPreferredScrollableViewportSize(new Dimension(800,250));
  hostTableMod_ref=new CustomTableModel(generateTableData(),HOST_TABLENAMES);
  hostTable_ref.setModel(hostTableMod_ref);
  hostTable_ref.setDefaultRenderer(Object.class,new DefaultTableCellRenderer());
  JScrollPane tableScroller_ref=new JScrollPane(hostTable_ref);
  hostTable_ref.getColumnModel().getColumn(0).setPreferredWidth(60);
  hostTable_ref.getColumnModel().getColumn(1).setPreferredWidth(70);
  hostTable_ref.getColumnModel().getColumn(2).setPreferredWidth(10);
  hostTable_ref.getColumnModel().getColumn(3).setPreferredWidth(35);
  hostTable_ref.getColumnModel().getColumn(4).setPreferredWidth(5);
  hostTable_ref.getColumnModel().getColumn(6).setPreferredWidth(20);
  ((DefaultTableCellRenderer)hostTable_ref.getDefaultRenderer(hostTable_ref.getColumnClass(0))).setHorizontalAlignment(SwingConstants.CENTER);
  tableScroller_ref.setBorder(new TitledBorder("String_Node_Str"));
  tableScroller_ref.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
  tableScroller_ref.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  this.add(tableScroller_ref);
  Box setADBox_ref=new Box(BoxLayout.X_AXIS);
  ImageIcon deleteIcon_ref=new ImageIcon(ClassLoader.getSystemResource("String_Node_Str"));
  ImageIcon addIcon_ref=new ImageIcon(ClassLoader.getSystemResource("String_Node_Str"));
  ImageIcon setResetIcon_ref=new ImageIcon(ClassLoader.getSystemResource("String_Node_Str"));
  ImageIcon setEditIcon_ref=new ImageIcon(ClassLoader.getSystemResource("String_Node_Str"));
  JButton addButton_ref=new JButton("String_Node_Str",addIcon_ref);
  addButton_ref.setToolTipText("String_Node_Str");
  addButton_ref.addActionListener(new SettingsHostButtonListener());
  JButton editButton_ref=new JButton("String_Node_Str",setEditIcon_ref);
  editButton_ref.setToolTipText("String_Node_Str");
  editButton_ref.addActionListener(new SettingsHostButtonListener());
  JButton delButton_ref=new JButton("String_Node_Str",deleteIcon_ref);
  delButton_ref.setToolTipText("String_Node_Str");
  delButton_ref.addActionListener(new SettingsHostButtonListener());
  JButton setResetBut_ref=new JButton("String_Node_Str",setResetIcon_ref);
  setResetBut_ref.setToolTipText("String_Node_Str");
  setResetBut_ref.addActionListener(new SettingsHostButtonListener());
  setADBox_ref.add(addButton_ref);
  setADBox_ref.add(Box.createHorizontalStrut(5));
  setADBox_ref.add(editButton_ref);
  setADBox_ref.add(Box.createHorizontalStrut(5));
  setADBox_ref.add(delButton_ref);
  setADBox_ref.add(Box.createHorizontalStrut(5));
  setADBox_ref.add(setResetBut_ref);
  this.add(setADBox_ref);
  this.add(Box.createVerticalStrut(5));
}