import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.*;
public class Application extends JFrame
{
JTextArea textarea;
JLabel label2;
public static void main(String[] args)
{
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (UnsupportedLookAndFeelException e)
{
e.printStackTrace();
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (InstantiationException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
Application app = new Application();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Image image = Toolkit.getDefaultToolkit().getImage("icon.png");
app.setIconImage(image);
app.setLocation(375, 150);
app.setSize(850, 600);
app.setTitle("Editor");
app.setVisible(true);
}
public Application()
{
JMenuBar menubar = new JMenuBar();
JMenu menu = new JMenu("Datei");
menu.setSelected(false);
JMenu menu2 = new JMenu("Bearbeiten");
menu2.setSelected(false);
JMenuItem menuitem = new JMenuItem("Neu");
menuitem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
neu();
}
}
);
JMenuItem menuitem2 = new JMenuItem("Speichern unter...");
menuitem2.setSelected(false);
menuitem2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
speichern();
}
}
);
JMenuItem menuitem3 = new JMenuItem("Öffnen...");
menuitem3.setSelected(false);
menuitem3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
laden();
}
}
);
JMenuItem menuitem4 = new JMenuItem("Beenden");
menuitem4.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
System.exit(0);
}
}
);
JMenuItem menuitem5 = new JMenuItem("Suchen...");
menuitem5.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
suchen();
}
}
);
setJMenuBar(menubar);
menubar.add(menu);
menu.add(menuitem);
menu.add(menuitem3);
menu.add(menuitem2);
menu.addSeparator();
menu.add(menuitem4);
menubar.add(menu2);
menu2.add(menuitem5);
JToolBar toolbar = new JToolBar();
toolbar.setSize(838, 30);
final JComboBox combobox = new JComboBox(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames());
combobox.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
textarea.setFont(new Font(combobox.getSelectedItem().toString(), textarea.getFont().getStyle(), textarea.getFont().getSize()));
}
}
);
final JComboBox combobox2 = new JComboBox(new Float[] {10f, 11f, 12f, 13f, 14f, 15f, 16f, 17f, 18f, 19f, 20f});
combobox2.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
textarea.setFont(textarea.getFont().deriveFont((Float)combobox2.getSelectedItem()));
}
}
);
final JComboBox combobox3 = new JComboBox(new String[] {"Normal", "Fett", "Kursiv"});
combobox3.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
textarea.setFont(textarea.getFont().deriveFont(combobox3.getSelectedIndex()));
}
}
);
ImageIcon imageicon = new ImageIcon("speichern.png");
JButton button3 = new JButton(imageicon);
button3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
speichern();
}
}
);
toolbar.add(button3);
toolbar.addSeparator();
toolbar.add(combobox);
toolbar.addSeparator();
toolbar.add(combobox2);
toolbar.addSeparator();
toolbar.add(combobox3);
add(toolbar, BorderLayout.NORTH);
textarea = new JTextArea();
add(textarea, BorderLayout.CENTER);
JScrollPane scrollpane = new JScrollPane(textarea);
add(scrollpane, BorderLayout.CENTER);
scrollpane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollpane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
label2 = new JLabel(" ");
label2.setBorder(BorderFactory.createMatteBorder(1, 0, 0, 0, Color.black));
add(label2, BorderLayout.PAGE_END);
}
public void neu()
{
final JDialog dialog = new JDialog();
dialog.setLocation(700, 325);
dialog.setSize(275, 125);
dialog.setTitle("Meldung");
dialog.setVisible(true);
JPanel panel = new JPanel();
JLabel label = new JLabel(" Möchten Sie die aktuelle Datei speichern?");
dialog.add(label, BorderLayout.CENTER);
JButton button = new JButton("Speichern");
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
speichern();
dialog.dispose();
textarea.setText("");
}
}
);
panel.add(button);
JButton button2 = new JButton("Nicht speichern");
button2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
textarea.setText("");
dialog.dispose();
}
}
);
panel.add(button2);
dialog.add(panel, BorderLayout.PAGE_END);
}
public void speichern()
{
try
{
final JFileChooser chooser = new JFileChooser();
chooser.setLocation(450, 200);
chooser.showSaveDialog(null);
File file = chooser.getSelectedFile();
FileWriter fw = new FileWriter(file);
fw.write(textarea.getText());
fw.close();
}
catch(IOException e)
{
e.printStackTrace();
}
Timer timer = new Timer();
TimerTask timertask = new TimerTask()
{
public void run()
{
timer();
}
};
timer.schedule(timertask, 0);
Timer timer2 = new Timer();
TimerTask timertask2 = new TimerTask()
{
public void run()
{
timer2();
}
};
timer2.schedule(timertask2, 3000);
}
public void timer()
{
label2.setText("Speichern war erfolgreich!");
}
public void timer2()
{
label2.setText(" ");
}
public void laden()
{
try
{
final JFileChooser chooser2 = new JFileChooser();
chooser2.setLocation(450, 200);
chooser2.showOpenDialog(null);
File file2 = chooser2.getSelectedFile();
FileReader fr = new FileReader(file2);
textarea.read(fr, null);
}
catch(IOException e)
{
e.printStackTrace();
}
}
public void suchen()
{
JDialog dialog3 = new JDialog();
dialog3.setLocation(625, 325);
dialog3.setSize(375, 225);
dialog3.setTitle("Suchen");
dialog3.setVisible(true);
JPanel panel6 = new JPanel();
panel6.setBorder(BorderFactory.createTitledBorder("Suchen"));
dialog3.add(panel6, BorderLayout.CENTER);
JTextField textfield = new JTextField();
panel6.add(textfield);
JPanel panel7 = new JPanel();
dialog3.add(panel7, BorderLayout.PAGE_END);
}
}