X Tutup
import javax.swing.*; import javax.swing.event.UndoableEditEvent; import javax.swing.event.UndoableEditListener; import javax.swing.undo.UndoManager; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class GUI implements ActionListener { JFrame window; // TEXT AREA JTextArea textArea; JScrollPane scrollPane; boolean wordwrapOn; // MENU BAR JMenuBar menuBar; JMenu menuFile,menuEdit,menuFormat,menuColour; //FILE JMenuItem iNew,iOpen,iSave,iSaveAs,iExit; // FORMAT JMenuItem iWrap ; JMenu iFont ,iFontsize; JMenuItem iFontTR,iFontARIAL,iFontuh; // FontSize() JMenuItem iFont8,iFont12,iFont16,iFont20,iFont24; /// COLOR JMenuItem iWhite,iBlack,iRed; /// Edit JMenuItem iUndo,iRedo; UndoManager um= new UndoManager(); Function_File file = new Function_File(this); Format format = new Format(this); Function_Color functionColor=new Function_Color(this); Function_Edit functionEdit= new Function_Edit(this); KeyHandler keyHandler = new KeyHandler(this); public GUI(){ createwindow(); createTextArea(); createMenu(); createFileMenu(); createFormat(); createColorMenu(); format.selectfont("Arial"); format.createFont(16); functionColor.changeColor("White"); format.wrapword(); createEditMenu(); window.setVisible(true); } public static void main(String[] args) { new GUI(); } public void createwindow(){ window=new JFrame("Notepad"); window.setSize(800,600); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void createTextArea(){ textArea=new JTextArea(); textArea.addKeyListener(keyHandler); textArea.getDocument().addUndoableEditListener( new UndoableEditListener() { @Override public void undoableEditHappened(UndoableEditEvent e) { um.addEdit(e.getEdit()); } } ); scrollPane=new JScrollPane(textArea,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); scrollPane.setBorder(BorderFactory.createEmptyBorder()); window.add(scrollPane); } public void createMenu(){ menuBar= new JMenuBar(); window.setJMenuBar(menuBar); // file menuFile=new JMenu("File"); menuBar.add(menuFile); // Edit menuEdit=new JMenu("Edit"); menuBar.add(menuEdit); //Format menuFormat=new JMenu("Format"); menuBar.add(menuFormat); //Color menuColour=new JMenu("Color"); menuBar.add(menuColour); } public void createFileMenu(){ iNew=new JMenuItem("New"); iNew.addActionListener(this); iNew.setActionCommand("New"); menuFile.add(iNew); iOpen=new JMenuItem("Open"); iOpen.addActionListener(this); iOpen.setActionCommand("Open"); menuFile.add(iOpen); iSave=new JMenuItem("Save"); iSave.addActionListener(this); iSave.setActionCommand("Save"); menuFile.add(iSave); iSaveAs=new JMenuItem("SaveAs"); iSaveAs.addActionListener(this); iSaveAs.setActionCommand("SaveAs"); menuFile.add(iSaveAs); iExit=new JMenuItem("Exit"); iExit.addActionListener(this); iExit.setActionCommand("Exit"); menuFile.add(iExit); } public void createFormat(){ iWrap=new JMenuItem("Word Wrap:Off"); iWrap.addActionListener(this); iWrap.setActionCommand("Word Wrap"); menuFormat.add(iWrap); // font iFont= new JMenu("Font"); menuFormat.add(iFont); //font size iFontsize=new JMenu("Font Size"); menuFormat.add(iFontsize); // font item iFontuh=new JMenuItem("Comic Sans MS"); iFontuh.addActionListener(this); iFontuh.setActionCommand("Comic Sans MS"); iFont.add(iFontuh); iFontARIAL=new JMenuItem("Arial"); iFontARIAL.addActionListener(this); iFontARIAL.setActionCommand("Arial"); iFont.add(iFontARIAL); iFontTR=new JMenuItem("Time Of New Roman"); iFontTR.addActionListener(this); iFontTR.setActionCommand("Time Of New Roman"); iFont.add(iFontTR); //fontSIZE iFont8=new JMenuItem("8"); iFont8.addActionListener(this); iFont8.setActionCommand("size8"); iFontsize.add(iFont8); iFont12=new JMenuItem("12"); iFont12.addActionListener(this); iFont12.setActionCommand("size12"); iFontsize.add(iFont12); iFont16=new JMenuItem("16"); iFont16.addActionListener(this); iFont16.setActionCommand("size16"); iFontsize.add(iFont16); iFont20=new JMenuItem("20"); iFont20.addActionListener(this); iFont20.setActionCommand("size20"); iFontsize.add(iFont20); iFont24=new JMenuItem("24"); iFont24.addActionListener(this); iFont24.setActionCommand("size24"); iFontsize.add(iFont24); } public void createColorMenu(){ iWhite=new JMenuItem("White"); iWhite.addActionListener(this); iWhite.setActionCommand("White"); menuColour.add(iWhite); iBlack=new JMenuItem("Black"); iBlack.addActionListener(this); iBlack.setActionCommand("Black"); menuColour.add(iBlack); iRed=new JMenuItem("Red"); iRed.addActionListener(this); iRed.setActionCommand("Red"); menuColour.add(iRed); } public void createEditMenu(){ iUndo=new JMenuItem("Undo"); iUndo.addActionListener(this); iUndo.setActionCommand("Undo"); menuEdit.add(iUndo); iRedo=new JMenuItem("Redo"); iRedo.addActionListener(this); iRedo.setActionCommand("Redo"); menuEdit.add(iRedo); } @Override public void actionPerformed(ActionEvent e) { String command=e.getActionCommand(); switch (command){ case "New":file.newFile(); break; case "Open":file.open(); break; case "SaveAs":file.SaveAs(); break; case "Save":file.save(); break; case "Exit":file.exit(); break; case "Word Wrap":format.wrapword(); break; case "size12":format.createFont(12); break; case "size16":format.createFont(16); break; case "size20":format.createFont(20); break; case "size24":format.createFont(24); break; case "Arial":format.selectfont("Arial"); break; case "Comic Sans MS":format.selectfont("Comic Sans MS"); break; case "Time Of New Roman":format.selectfont("Time Of New Roman"); break; case "White":functionColor.changeColor("White"); break; case "Red":functionColor.changeColor("Red"); break; case "Black":functionColor.changeColor("Black"); break; case "Undo": functionEdit.undo();break; case "Redo":functionEdit.redo();break; } } }
X Tutup