Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.KeyEvent;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.awt.event.WindowEvent;
- import java.awt.event.WindowListener;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import javax.swing.*;
- import javax.swing.filechooser.FileNameExtensionFilter;
- public class MyFrame extends JFrame {
- int list_position = 0;
- String thisfile = null;
- File defaultdir = new File("C:\\Vocabulary\\data\\");
- JTextField textfield_englisch;
- JTextField textfield_deutsch;
- JTextField showfilename;
- JTextArea text_englisch;
- JTextArea text_deutsch;
- JList list_englisch;
- JList list_deutsch;
- DefaultListModel dataE;
- DefaultListModel dataD;
- JButton speichern;
- JButton öffnen;
- JButton neuladen;
- JButton alleslöschen;
- JButton neu;
- JFileChooser fc = new JFileChooser();
- public MyFrame(String title) {
- this.getContentPane().setLayout(null);
- this.initWindow();
- setTitle(title);
- this.addWindowListener(new WindowListener() {
- public void windowClosed(WindowEvent arg0) {
- }
- public void windowActivated(WindowEvent e) {
- }
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- public void windowDeactivated(WindowEvent e) {
- }
- public void windowDeiconified(WindowEvent e) {
- }
- public void windowIconified(WindowEvent e) {
- }
- public void windowOpened(WindowEvent e) {
- }
- });
- }
- protected void initWindow()
- {
- // Instanzieren:
- textfield_englisch = new JTextField();
- textfield_deutsch = new JTextField();
- showfilename = new JTextField();
- // Hier auch gleich die Beschriftung des Buttons mit angeben:
- speichern = new JButton("Speichern");
- öffnen = new JButton("Öffnen");
- neuladen = new JButton("Neu laden");
- alleslöschen = new JButton("Alles löschen");
- neu = new JButton("Neu");
- dataE = new DefaultListModel();
- dataD = new DefaultListModel();
- list_englisch = new JList(dataE);
- list_deutsch = new JList(dataD);
- text_englisch = new JTextArea();
- text_deutsch = new JTextArea();
- textfield_englisch.setBounds(50, 50, 250, 30);
- textfield_deutsch.setBounds(350, 50, 250, 30);
- showfilename.setBounds(50, 530, 550, 30);
- showfilename.setEditable(false);
- showfilename.setText("Keine Datei geöffnet");
- speichern.setBounds(350, 10, 250, 30);
- öffnen.setBounds(50, 10, 250, 30);
- neuladen.setBounds(50, 490, 250, 30);
- alleslöschen.setBounds(350, 490, 250, 30);
- neu.setBounds(200, 570, 250,30);
- neuladen.setEnabled(false);
- alleslöschen.setEnabled(false);
- list_englisch.setBounds(50, 120, 250, 350);
- list_deutsch.setBounds(350, 120, 250, 350);
- list_englisch.setSelectionMode(1);
- list_deutsch.setSelectionMode(1);
- text_englisch.setBounds(50, 90, 250, 30);
- text_deutsch.setBounds(350, 90, 250, 30);
- text_englisch.setText("Englisch");
- text_deutsch.setText("Deutsch");
- text_englisch.setEditable(false);
- text_deutsch.setEditable(false);
- // Elemente dem Fenster hinzufügen:
- // (this ist ein Zeiger auf dieses Objekt, also das Fenster)
- this.getContentPane().add(textfield_englisch);
- this.getContentPane().add(textfield_deutsch);
- this.getContentPane().add(showfilename);
- this.getContentPane().add(speichern);
- this.getContentPane().add(öffnen);
- this.getContentPane().add(neuladen);
- this.getContentPane().add(alleslöschen);
- this.getContentPane().add(neu);
- this.getContentPane().add(list_englisch);
- this.getContentPane().add(list_deutsch);
- this.getContentPane().add(text_englisch);
- this.getContentPane().add(text_deutsch);
- // Das kommt ganz am Ende:
- this.pack();
- speichern.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- speichernClicked();
- }
- });
- öffnen.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- öffnenClicked();
- }
- });
- neuladen.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- neuladenClicked();
- }
- });
- alleslöschen.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- alleslöschenClicked();
- }
- });
- neu.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- neuClicked();
- }
- });
- list_englisch.addMouseListener(new MouseListener(){
- @Override
- public void mouseClicked(MouseEvent arg0) {
- if (arg0.getButton()== 3){
- setListD();
- löschenClicked();
- }
- }
- @Override
- public void mouseEntered(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mouseExited(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mousePressed(MouseEvent arg0) {
- setListD();
- }
- @Override
- public void mouseReleased(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- });
- list_deutsch.addMouseListener(new MouseListener(){
- @Override
- public void mouseClicked(MouseEvent arg0) {
- if (arg0.getButton()== 3){
- setListE();
- löschenClicked();
- }
- }
- @Override
- public void mouseEntered(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mouseExited(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mousePressed(MouseEvent arg0) {
- setListE();
- }
- @Override
- public void mouseReleased(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- });
- textfield_englisch.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- addClicked();
- }
- });
- textfield_deutsch.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- addClicked();
- }
- });
- }
- protected void neuClicked() {
- if(dataE.size() == 0){
- thisfile = null;
- showfilename.setText("Keine Datei geöffnet");
- speichernClicked();
- }
- else{
- speichernClicked();
- alleslöschenClicked();
- thisfile = null;
- showfilename.setText("Keine Datei geöffnet");
- speichernClicked();
- }
- }
- protected void neuladenClicked() {
- dataE.clear();
- dataD.clear();
- FileReaderT(thisfile);
- if(dataE.size() == 0) alleslöschen.setEnabled(false);
- else alleslöschen.setEnabled(true);
- }
- protected void alleslöschenClicked() {
- dataE.clear();
- dataD.clear();
- alleslöschen.setEnabled(false);
- }
- protected void setListD() {
- list_position = list_englisch.getSelectedIndex();
- list_deutsch.setSelectedIndex(list_position);
- }
- protected void setListE() {
- list_position = list_deutsch.getSelectedIndex();
- list_englisch.setSelectedIndex(list_position);
- }
- protected void addClicked() {
- try {
- String eingabe1 = textfield_englisch.getText();
- String eingabe2 = textfield_deutsch.getText();
- if (eingabe1.length() != 0 && eingabe2.length() != 0) {
- dataE.addElement(eingabe1);
- dataD.addElement(eingabe2);
- textfield_englisch.setText("");
- textfield_deutsch.setText("");
- textfield_englisch.requestFocusInWindow();
- alleslöschen.setEnabled(true);
- }
- }
- catch (NumberFormatException e) {
- JOptionPane.showMessageDialog(this,
- "Es wurde kein oder ein Falscher Wert eingetragen",
- "Fehlermeldung", JOptionPane.WARNING_MESSAGE);
- }
- }
- protected void speichernClicked() {
- if(thisfile == null){
- FileNameExtensionFilter filter = new FileNameExtensionFilter("e & d Files", "e", "d");
- fc.setFileFilter(filter);
- fc.setCurrentDirectory(defaultdir);
- int val = fc.showSaveDialog(rootPane);
- if(val == JFileChooser.APPROVE_OPTION){
- String filename = fc.getSelectedFile().getAbsoluteFile().toString();
- filename = filename.substring(0, filename.lastIndexOf(46));
- thisfile = filename;
- FileWriterT(thisfile);
- neuladen.setEnabled(true);
- showfilename.setText(thisfile);
- }
- }
- else FileWriterT(thisfile);
- }
- protected void löschenClicked() {
- dataE.remove(list_position);
- dataD.remove(list_position);
- alleslöschen.setEnabled(false);
- }
- protected void öffnenClicked() {
- FileNameExtensionFilter filter = new FileNameExtensionFilter("e & d Files", "e", "d");
- fc.setFileFilter(filter);
- fc.setCurrentDirectory(defaultdir);
- int val = fc.showOpenDialog(rootPane);
- if(val == JFileChooser.APPROVE_OPTION){
- dataE.clear();
- dataD.clear();
- String filename = fc.getSelectedFile().getAbsoluteFile().toString();
- filename = filename.substring(0, filename.length()-2);
- thisfile = filename;
- FileReaderT(filename);
- showfilename.setText(thisfile);
- }
- neuladen.setEnabled(true);
- if(dataE.size() == 0) alleslöschen.setEnabled(false);
- else alleslöschen.setEnabled(true);
- }
- public static void main(String[] args) {
- MyFrame theAppWindow = new MyFrame("Vocabulary - Creator");
- theAppWindow.setBounds(10, 10, 660, 680);
- theAppWindow.show();
- }
- public void FileWriterT(String f){
- int counter = 0;
- FileWriter writer;
- File file;
- // File anlegen
- file = new File(f + ".e");
- try {
- // new FileWriter(file ,true) - falls die Datei bereits existiert
- // werden die Bytes an das Ende der Datei geschrieben
- // new FileWriter(file) - falls die Datei bereits existiert
- // wird diese überschrieben
- writer = new FileWriter(file);
- // Text wird in den Stream geschrieben
- while(counter < dataE.size()){
- writer.write((String) dataE.getElementAt(counter));
- writer.write(System.getProperty("line.separator"));
- counter++;
- }
- // Schreibt den Stream in die Datei
- // Sollte immer am Ende ausgeführt werden, sodass der Stream
- // leer ist und alles in der Datei steht.
- writer.flush();
- // Schließt den Stream
- writer.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- counter = 0;
- file = new File(f + ".d");
- try {
- // new FileWriter(file ,true) - falls die Datei bereits existiert
- // werden die Bytes an das Ende der Datei geschrieben
- // new FileWriter(file) - falls die Datei bereits existiert
- // wird diese überschrieben
- writer = new FileWriter(file);
- // Text wird in den Stream geschrieben
- while(counter < dataD.size()){
- writer.write((String) dataD.getElementAt(counter));
- writer.write(System.getProperty("line.separator"));
- counter++;
- }
- // Schreibt den Stream in die Datei
- // Sollte immer am Ende ausgeführt werden, sodass der Stream
- // leer ist und alles in der Datei steht.
- writer.flush();
- // Schließt den Stream
- writer.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public void FileReaderT(String file) {
- BufferedReader readerE;
- BufferedReader readerD;
- String zeileE=null;
- String zeileD=null;
- try {
- readerE = new BufferedReader(new FileReader(file + ".e"));
- readerD = new BufferedReader(new FileReader(file + ".d"));
- zeileE = readerE.readLine();
- zeileD = readerD.readLine();
- while (zeileE != null && zeileD != null) {
- dataE.addElement(zeileE);
- dataD.addElement(zeileD);
- zeileE = readerE.readLine();
- zeileD = readerD.readLine();
- }
- } catch (IOException e) {
- System.err.println("Error2 :"+e);
- }
- }
- }
Add Comment
Please, Sign In to add comment