जावा स्विंग के लिए शुरुआत करने के लिए, इस परियोजना को सरल रखने की कोशिश करें। एक ही दस्तावेज़ में एकाधिक रंगों और एकाधिक आकारों को दिखाने के लिए बहुत जटिल कोडिंग और एचटीएमएल प्रस्तुत करना आवश्यक है।
केवल मूल प्रतिलिपि, कट, पेस्ट फीचर्स प्रदान करने का प्रयास करें क्योंकि उन्हें कार्यान्वित करना आसान है।
उन सुविधाओं को प्रदान करने के लिए, एक JTextArea पर्याप्त है।
इसे आजमाएं। यह एक सुंदर सरल पाठ संपादक
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Document extends JFrame implements ActionListener
{
private JTextArea ta;
private int count;
private JMenuBar menuBar;
private JMenu fileM,editM,viewM;
private JScrollPane scpane;
private JMenuItem exitI,cutI,copyI,pasteI,selectI,saveI,loadI,statusI;
private String pad;
private JToolBar toolBar;
public Document()
{
super("Document");
setSize(600, 600);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = getContentPane();
pane.setLayout(new BorderLayout());
count = 0;
pad = " ";
ta = new JTextArea(); //textarea
menuBar = new JMenuBar(); //menubar
fileM = new JMenu("File"); //file menu
editM = new JMenu("Edit"); //edit menu
viewM = new JMenu("View"); //edit menu
scpane = new JScrollPane(ta); //scrollpane and add textarea to scrollpane
exitI = new JMenuItem("Exit");
cutI = new JMenuItem("Cut");
copyI = new JMenuItem("Copy");
pasteI = new JMenuItem("Paste");
selectI = new JMenuItem("Select All"); //menuitems
saveI = new JMenuItem("Save"); //menuitems
loadI = new JMenuItem("Load"); //menuitems
statusI = new JMenuItem("Status"); //menuitems
toolBar = new JToolBar();
ta.setLineWrap(true);
ta.setWrapStyleWord(true);
setJMenuBar(menuBar);
menuBar.add(fileM);
menuBar.add(editM);
menuBar.add(viewM);
fileM.add(saveI);
fileM.add(loadI);
fileM.add(exitI);
editM.add(cutI);
editM.add(copyI);
editM.add(pasteI);
editM.add(selectI);
viewM.add(statusI);
saveI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
loadI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, ActionEvent.CTRL_MASK));
cutI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
copyI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
pasteI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
selectI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK));
pane.add(scpane,BorderLayout.CENTER);
pane.add(toolBar,BorderLayout.SOUTH);
saveI.addActionListener(this);
loadI.addActionListener(this);
exitI.addActionListener(this);
cutI.addActionListener(this);
copyI.addActionListener(this);
pasteI.addActionListener(this);
selectI.addActionListener(this);
statusI.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
JMenuItem choice = (JMenuItem) e.getSource();
if (choice == saveI)
{
//not yet implmented
}
else if (choice == exitI)
System.exit(0);
else if (choice == cutI)
{
pad = ta.getSelectedText();
ta.replaceRange("", ta.getSelectionStart(), ta.getSelectionEnd());
}
else if (choice == copyI)
pad = ta.getSelectedText();
else if (choice == pasteI)
ta.insert(pad, ta.getCaretPosition());
else if (choice == selectI)
ta.selectAll();
else if (e.getSource() == statusI)
{
//not yet implmented
}
}
public static void main(String[] args)
{
new Document();
}
है इस ट्यूटोरियल पर एक नज़र डालें: http://docs.oracle.com/javase/tutorial/uiswing/components/editorpane.html – aly
भी देखें [* WYSIWYG पाठ जावा में संपादक *] (http://stackoverflow.com/q/853071/230513)। – trashgod
एडब्ल्यूटी प्रारूपित पाठ का समर्थन करने वाले किसी भी घटक की पेशकश नहीं करता है, इसलिए इसे 'स्विंग' भी माना जा सकता है। –