public class CaView extends JPanel implements ActionListener, Observer {
private static final long serialVersionUID = 1L;
KrAModel model2;
JTextArea kryptT,enkryptT;
JTextField b;
JButton attackB,next,prev, resetAll;
ArrayList<MyData> mytest;
private int k;
public CaView(KrAModel model2) {
this.model2 = model2;
JScrollPane listScrollpane = null;
// Layout
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
//Tab2
JPanel layout = new JPanel();
JTabbedPane tabbedPane = new JTabbedPane();
// Setup
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
layout.setPreferredSize(new Dimension(500,260));
// JTextAreas, JTextFields und Labels
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
kryptT = new JTextArea(3,55);
enkryptT = new JTextArea(3,55);
b = new JTextField("",18);
JLabel label3 = new JLabel("¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Angriff ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
JLabel labelBest = new JLabel("Beste Lösung zum entschlüsseln:\t");
// Setup
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
kryptT.setWrapStyleWord(true);
kryptT.setLineWrap(true);
kryptT.setText("PJOMSVNHTZHTZAHNUHJOZABAANHYABTKVYALPULDVOUBUNGBILZPJOAPNLU");
enkryptT.setWrapStyleWord(true);
enkryptT.setLineWrap(true);
enkryptT.setEditable(false);
b.setEditable(false);
// Buttons
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
attackB = new JButton("Attack");
next = new JButton(">>");
prev = new JButton("<<");
resetAll = new JButton("Reset all");
// Setup
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
next.setEnabled(false);
prev.setEnabled(false);
// Adding Components
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
listScrollpane = new JScrollPane(kryptT);
layout.add(listScrollpane);
layout.add(label3);
layout.add(attackB);
layout.add(labelBest);
layout.add(b);
layout.add(prev);
layout.add(next);
listScrollpane = new JScrollPane(enkryptT);
layout.add(listScrollpane);
layout.add(resetAll);
//tabbes
tabbedPane.addTab("Caesar", boxall );
tabbedPane.addTab("KryptAttack",layout);
add(tabbedPane);
// ActionListeners
// ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
attackB.addActionListener(this);
prev.addActionListener(this);
next.addActionListener(this);
resetAll.addActionListener(this);
}