CI 2019 von Daniel, Eugen und Michael
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// Java Program to create a text editor using java
import java.awt.*; import javax.swing.*; import java.io.*; import java.awt.event.*; import javax.swing.plaf.metal.*; import javax.swing.text.*; class Geburtstag extends JFrame implements ActionListener { // Text component
JTextArea t;
// Frame
JFrame f;
// Constructor
Geburtstag() { // Create a frame
f = new JFrame("editor");
try { // Set metl look and feel
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
// Set theme to ocean
MetalLookAndFeel.setCurrentTheme(new OceanTheme()); } catch (Exception e) { }
// Text component
t = new JTextArea();
// Create a menubar
JMenuBar mb = new JMenuBar();
// Create amenu for menu
JMenu m1 = new JMenu("File");
// Create menu items
JMenuItem mi1 = new JMenuItem("New"); JMenuItem mi2 = new JMenuItem("Open"); JMenuItem mi3 = new JMenuItem("Save"); JMenuItem mi9 = new JMenuItem("Print");
// Add action listener
mi1.addActionListener(this); mi2.addActionListener(this); mi3.addActionListener(this); mi9.addActionListener(this);
m1.add(mi1); m1.add(mi2); m1.add(mi3); m1.add(mi9);
// Create amenu for menu
JMenu m2 = new JMenu("Edit");
// Create menu items
JMenuItem mi4 = new JMenuItem("cut"); JMenuItem mi5 = new JMenuItem("copy"); JMenuItem mi6 = new JMenuItem("paste");
// Add action listener
mi4.addActionListener(this); mi5.addActionListener(this); mi6.addActionListener(this);
m2.add(mi4); m2.add(mi5); m2.add(mi6);
JMenuItem mc = new JMenuItem("close");
mc.addActionListener(this);
mb.add(m1); mb.add(m2); mb.add(mc);
f.setJMenuBar(mb); f.add(t); f.setSize(500, 500); f.show(); }
// If a button is pressed
public void actionPerformed(ActionEvent e) { String s = e.getActionCommand();
if (s.equals("cut")) { t.cut(); } else if (s.equals("copy")) { t.copy(); } else if (s.equals("paste")) { t.paste(); } else if (s.equals("Save")) { // Create an object of JFileChooser class
JFileChooser j = new JFileChooser("f:");
// Invoke the showsSaveDialog function to show the save dialog
int r = j.showSaveDialog(null);
if (r == JFileChooser.APPROVE_OPTION) {
// Set the label to the path of the selected directory
File fi = new File(j.getSelectedFile().getAbsolutePath());
try { // Create a file writer
FileWriter wr = new FileWriter(fi, false);
// Create buffered writer to write
BufferedWriter w = new BufferedWriter(wr);
// Write
w.write(t.getText());
w.flush(); w.close(); } catch (Exception evt) { JOptionPane.showMessageDialog(f, evt.getMessage()); } } // If the user cancelled the operation
else JOptionPane.showMessageDialog(f, "the user cancelled the operation"); } else if (s.equals("Print")) { try { // print the file
t.print(); } catch (Exception evt) { JOptionPane.showMessageDialog(f, evt.getMessage()); } } else if (s.equals("Open")) { // Create an object of JFileChooser class
JFileChooser j = new JFileChooser("f:");
// Invoke the showsOpenDialog function to show the save dialog
int r = j.showOpenDialog(null);
// If the user selects a file
if (r == JFileChooser.APPROVE_OPTION) { // Set the label to the path of the selected directory
File fi = new File(j.getSelectedFile().getAbsolutePath());
try { // String
String s1 = "", sl = "";
// File reader
FileReader fr = new FileReader(fi);
// Buffered reader
BufferedReader br = new BufferedReader(fr);
// Initilize sl
sl = br.readLine();
// Take the input from the file
while ((s1 = br.readLine()) != null) { sl = sl + "\n" + s1; }
// Set the text
t.setText(sl); } catch (Exception evt) { JOptionPane.showMessageDialog(f, evt.getMessage()); } } // If the user cancelled the operation
else JOptionPane.showMessageDialog(f, "the user cancelled the operation"); } else if (s.equals("New")) { t.setText(""); } else if (s.equals("close")) { f.setVisible(false); } }
// Main class
public static void main(String args[]) { fenster e = new fenster(); } }
|