diff --git a/7. labor/caesarCode/src/caesarcode/CaesarCode.java b/7. labor/caesarCode/src/caesarcode/CaesarCode.java
new file mode 100644
index 0000000000000000000000000000000000000000..ee5a02205db0c81db794a7e9e6d476e5d22ffdbd
--- /dev/null
+++ b/7. labor/caesarCode/src/caesarcode/CaesarCode.java	
@@ -0,0 +1,20 @@
+package caesarcode;
+
+public class CaesarCode {
+	public static String caesarCode(String input, char offset)
+	{
+		String s = "";
+		input=input.toUpperCase();
+		offset=Character.toUpperCase(offset);
+		int numericOffset=(int)offset - (int)'A';
+		int len = input.length();
+		for(int x = 0; x < len; x++){
+			char c = (char)(input.charAt(x) + numericOffset);
+			if (c > 'Z')
+				s += (char)(input.charAt(x) - (26-numericOffset));
+			else
+				s += (char)(input.charAt(x) + numericOffset);
+		}
+		return s;
+	}
+}
diff --git a/7. labor/caesarCode/src/caesarcode/caesarFrame.java b/7. labor/caesarCode/src/caesarcode/caesarFrame.java
new file mode 100644
index 0000000000000000000000000000000000000000..4f46d645290b58202a6b3030e9e6e30ca20080a2
--- /dev/null
+++ b/7. labor/caesarCode/src/caesarcode/caesarFrame.java	
@@ -0,0 +1,62 @@
+package caesarcode;
+
+import java.awt.GridLayout;
+import java.awt.HeadlessException;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
+public class caesarFrame extends JFrame{
+
+	private JComboBox jcb;
+	private JPanel p1, p2;
+	private JTextField f1, f2;
+	private JButton btn;
+	
+	public caesarFrame() throws HeadlessException {
+		super("SwingLab");
+//		this.setTitle("SwingLab");
+		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
+		this.setSize(400, 110);
+		GridLayout lm=new GridLayout();
+		lm.setRows(2);
+		lm.setColumns(1);
+		this.setLayout(lm);
+		p1=new JPanel();p2=new JPanel();
+		add(p1);add(p2);
+		
+		//felső panel
+		Object chars[]=new Object[26];
+		for(int i=(int)'A';i<=(int)'Z';i++)
+			chars[i-(int)'A']=(char)i;
+		jcb=new JComboBox(chars); p1.add(jcb);
+		f1=new JTextField(20); f1.setEnabled(true); p1.add(f1);
+		btn=new JButton(); btn.setText("Code!");
+		btn.addActionListener(new OkButtonActionListener());
+		p1.add(btn);
+		//------------------------------------------------
+		
+		//alsó panel
+		p2.add(new JLabel("Output:"));
+		f2=new JTextField(20);
+		f2.setEnabled(false);
+		p2.add(f2);
+		//-----------------------------------------------
+		
+		setResizable(true);
+		setVisible(true);
+	}
+	
+	private class OkButtonActionListener extends CaesarCode implements ActionListener
+	{
+		@Override
+		public void actionPerformed(ActionEvent ae) {
+			f2.setText(caesarCode(f1.getText(), (char)jcb.getSelectedItem()));
+		}
+	}
+}
\ No newline at end of file
diff --git a/7. labor/caesarCode/src/caesarcode/main.java b/7. labor/caesarCode/src/caesarcode/main.java
new file mode 100644
index 0000000000000000000000000000000000000000..67749ae6891b8d0070108d71ae4e777a59ece263
--- /dev/null
+++ b/7. labor/caesarCode/src/caesarcode/main.java	
@@ -0,0 +1,9 @@
+package caesarcode;
+
+public class main {
+	public static void main(String args[])
+	{
+		System.out.println(CaesarCode.caesarCode("kutya", 'k'));
+		caesarFrame cf=new caesarFrame();
+	}
+}
diff --git a/7. labor/java_7_swing_manual_tasks.pdf b/7. labor/java_7_swing_manual_tasks.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..b71012378e85eee52e78be82999e61b47591e86d
Binary files /dev/null and b/7. labor/java_7_swing_manual_tasks.pdf differ
diff --git a/prog3_8_swing1_p1.pdf b/prog3_8_swing1_p1.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..9886f7048c4a657e6aa6ee90b2751ea4ec95bb5a
Binary files /dev/null and b/prog3_8_swing1_p1.pdf differ