Browse Source

Merge branch 'JSrollBar' into 'main'

J sroll bar

See merge request fdai7332/java-chat!12
remotes/origin/hotfix/client/improve-chat-window-appearence
fdai7579 11 months ago
parent
commit
a4389383f9
  1. 29
      src/main/java/Notizbuch.java
  2. 119
      src/test/java/NotizbuchTest.java

29
src/main/java/Notizbuch.java

@ -8,7 +8,7 @@ import javax.swing.JFrame;
public class Notizbuch extends JFrame implements ActionListener {
private JTextArea textArea;
JTextArea textArea;
private JButton saveButton;
private JButton loadButton;
@ -18,8 +18,8 @@ public class Notizbuch extends JFrame implements ActionListener {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new BorderLayout());
textArea = new JTextArea();
add(new JScrollPane(textArea), BorderLayout.CENTER);
setTextArea(new JTextArea());
add(new JScrollPane(getTextArea()), BorderLayout.CENTER);
saveButton = new JButton("Speichern");
saveButton.addActionListener(this);
@ -43,25 +43,40 @@ public class Notizbuch extends JFrame implements ActionListener {
}
private void saveNote() {
public void saveNote() {
try (PrintWriter writer = new PrintWriter(new FileWriter("notizen.txt"))) {
writer.print(textArea.getText());
writer.print(getTextArea().getText());
JOptionPane.showMessageDialog(this, "Notiz erfolgreich gespeichert!");
} catch (IOException e) {
JOptionPane.showMessageDialog(this, "Fehler beim Speichern der Notiz: " + e.getMessage());
}
}
private void loadNote() {
public void loadNote() {
try (BufferedReader reader = new BufferedReader(new FileReader("notizen.txt"))) {
StringBuilder noteText = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
noteText.append(line).append("\n");
}
textArea.setText(noteText.toString());
getTextArea().setText(noteText.toString());
} catch (IOException e) {
JOptionPane.showMessageDialog(this, "Fehler beim Laden der Notiz: " + e.getMessage());
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
Notizbuch notizbuch = new Notizbuch();
notizbuch.setVisible(true);
});
}
public JTextArea getTextArea() {
return textArea;
}
public void setTextArea(JTextArea textArea) {
this.textArea = textArea;
}
}

119
src/test/java/NotizbuchTest.java

@ -0,0 +1,119 @@
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class NotizbuchTest {
@Test
public void testSpeichernUndLaden() {
Notizbuch notizbuch = new Notizbuch();
notizbuch.textArea.setText("Testnotiz");
notizbuch.saveNote();
notizbuch.loadNote();
assertEquals("Testnotiz\n", notizbuch.textArea.getText());
}
@Test
public void testSpeichernMitLeererNotiz() {
Notizbuch notizbuch = new Notizbuch();
notizbuch.textArea.setText("");
notizbuch.saveNote();
assertEquals("", notizbuch.textArea.getText());
}
@Test
public void testLadenVonExistierenderDatei() {
// Vor dem Test sicherstellen, dass eine Datei mit Inhalt existiert
// Hier wird angenommen, dass bereits eine "notizen.txt" Datei vorhanden ist
Notizbuch notizbuch = new Notizbuch();
notizbuch.loadNote();
assertNotEquals("", notizbuch.textArea.getText());
}
@Test
public void testSpeichernMitDateiSchreibfehler() {
Notizbuch notizbuch = new Notizbuch();
notizbuch.textArea.setText("Testnotiz");
// Setze die Datei als schreibgeschützt, um einen Schreibfehler zu simulieren
notizbuch.saveNote();
// Erwarte eine Fehlermeldung
// TODO: Implementierung einer Methode zum Einfangen von Fehlermeldungen
}
@Test
public void testSpeichernMitUmlautenUndSonderzeichen() {
Notizbuch notizbuch = new Notizbuch();
notizbuch.textArea.setText("Äpfel & Birnen €");
notizbuch.saveNote();
notizbuch.loadNote();
assertEquals("Äpfel & Birnen €\n", notizbuch.textArea.getText());
}
@Test
public void testSpeichernMitLeerzeichen() {
Notizbuch notizbuch = new Notizbuch();
notizbuch.textArea.setText("Testnotiz mit Leerzeichen");
notizbuch.saveNote();
notizbuch.loadNote();
assertEquals("Testnotiz mit Leerzeichen\n", notizbuch.textArea.getText());
}
@Test
public void testSpeichernUndLadenMitMehrzeiligerNotiz() {
Notizbuch notizbuch = new Notizbuch();
notizbuch.textArea.setText("Erste Zeile\nZweite Zeile\nDritte Zeile");
notizbuch.saveNote();
notizbuch.loadNote();
assertEquals("Erste Zeile\nZweite Zeile\nDritte Zeile\n", notizbuch.textArea.getText());
}
@Test
public void testSpeichernUndLadenMitLeererZeile() {
Notizbuch notizbuch = new Notizbuch();
notizbuch.textArea.setText("\n");
notizbuch.saveNote();
notizbuch.loadNote();
assertEquals("\n", notizbuch.textArea.getText());
}
@Test
public void testSpeichernUndLadenMitUTF8() {
Notizbuch notizbuch = new Notizbuch();
notizbuch.textArea.setText("Äpfel & Birnen €");
notizbuch.saveNote();
notizbuch.textArea.setText(""); // Setze den Textbereich zurück
notizbuch.loadNote();
assertEquals("Äpfel & Birnen €\n", notizbuch.textArea.getText());
}
@Test
public void testSpeichernUndLadenMitMehrzeiligerNotiz2() {
Notizbuch notizbuch = new Notizbuch();
notizbuch.textArea.setText("Erste Zeile\nZweite Zeile\nDritte Zeile");
notizbuch.saveNote();
notizbuch.textArea.setText(""); // Setze den Textbereich zurück
notizbuch.loadNote();
assertEquals("Erste Zeile\nZweite Zeile\nDritte Zeile\n", notizbuch.textArea.getText());
}
}
Loading…
Cancel
Save