Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Myra WebTools - TextEdit.java

TextEdit.java

Caricato da: Ht-never
Scarica il programma completo

  1. import java.awt.event.ActionEvent;
  2. import java.awt.event.ActionListener;
  3.  
  4. //import javax.swing.text.AttributeSet;
  5. import javax.swing.*;
  6. import javax.swing.text.Style;
  7. import javax.swing.text.StyleConstants;
  8.  
  9. @SuppressWarnings("serial")
  10. public class TextEdit extends JPanel implements ActionListener {
  11.        
  12.         private Style make_bolder;
  13.         private Style make_italic;
  14.         private Style make_normal;
  15.         private Style make_title;
  16.  
  17.        
  18.         private final static String bold_string = "<html><center><b>" +
  19.                         "B</b></center>";
  20.         private final static String italic_string = "<html><center>" +
  21.                         "<i>I</i></center>";
  22.         private final static String normal_string = "<html><center>" +
  23.                         "N</center>";
  24.        
  25.         private final static String title_string = "<html><center>" +
  26.                         "H1</center>";
  27.        
  28.         JTextPane edit = new JTextPane();
  29.         JButton button = new JButton("Salva");
  30.         JButton bold = new JButton(bold_string);
  31.         JButton italic = new JButton(italic_string);
  32.         JButton normal = new JButton(normal_string);
  33.         JButton title = new JButton(title_string);
  34.  
  35.         ClipboardPopupMenu clipBoard=ClipboardPopupMenu.installForComponent(edit);
  36.         public TextEdit() {
  37.                 setLayout(null);
  38.                 setup();
  39.                 setClipboardMenu();
  40.         add(edit); add(normal); add(button); add(bold); add(italic);
  41.         add(title);
  42.  
  43.                 inizializzaStili();
  44.         }
  45.  
  46.         private void inizializzaStili() {
  47.  
  48.                 make_bolder = edit.addStyle("bolder", null);
  49.                 StyleConstants.setBold(make_bolder, true);
  50.  
  51.                 make_italic = edit.addStyle("italic", null);
  52.                 StyleConstants.setItalic(make_italic, true);
  53.                
  54.                 make_normal = edit.addStyle("normal", null);
  55.                 StyleConstants.setItalic(make_normal, false);
  56.                 StyleConstants.setBold(make_normal, false);
  57.                
  58.                 make_title = edit.addStyle("title", null);
  59.                 StyleConstants.setFontSize(make_title,22);
  60.                 StyleConstants.setFontFamily(make_title,"Verdana");
  61.                
  62.  
  63.         }
  64.  
  65.         public void actionPerformed(ActionEvent e) {
  66.        
  67.                 if(e.getActionCommand().compareTo("Salva")==0) {
  68.                         @SuppressWarnings("unused")
  69.                         SaveFileWindow save_file=new SaveFileWindow(edit.getText());
  70.                 }
  71.                 else if(e.getActionCommand().compareTo(bold_string)==0) {
  72.                         setSelectedTextStyle(make_bolder);
  73.                 } else if(e.getActionCommand().compareTo(italic_string)==0) {
  74.                         setSelectedTextStyle(make_italic);
  75.                 } else if(e.getActionCommand().compareTo(normal_string)==0) {
  76.                         setSelectedTextStyle(make_normal);
  77.                 } else if(e.getActionCommand().compareTo(title_string)==0) {
  78.                         setSelectedTextStyle(make_title);
  79.                 }
  80.         }
  81.  
  82.         void setup() {
  83.                 setupEventi();
  84.                 normal.setBounds(30,30,50,30);
  85.                 bold.setBounds(80,30,50,30);
  86.                 italic.setBounds(130,30,50,30);
  87.                 title.setBounds(180,30,50,30);
  88.                 edit.setBounds(30,60,640,400);
  89.                 button.setBounds(30,460,640,50);
  90.         }
  91.         public void setupEventi() {
  92.                 bold.addActionListener(this);
  93.                 italic.addActionListener(this);
  94.                 button.addActionListener(this);
  95.                 normal.addActionListener(this);
  96.                 title.addActionListener(this);
  97.         }
  98.         public void setClipboardMenu() {
  99.                 clipBoard.addCopyFunction("Copia");
  100.                 clipBoard.addPasteFunction("Incolla");
  101.                 clipBoard.addCutFunction("Taglia");
  102.                 clipBoard.addClearFunction("Clear");
  103.         }
  104.         public String getPopupUrl(String causal) {
  105.                 String url=JOptionPane.showInputDialog("Inserisci url "+causal);
  106.                 return url;
  107.         }
  108.         /*private void setSelectedTextStyle(Style style) {
  109.                 int lunghezzaTestoSelezionato = edit.getSelectedText().length();
  110.                 int inizioSelezione = edit.getSelectionStart();
  111.                 Style ret=edit.getStyledDocument().getLogicalStyle(inizioSelezione);
  112.                 AttributeSet combine = style.copyAttributes();
  113.                 System.out.println(combine);
  114.                 if(combine != null) {
  115.                         ret.addAttributes(combine);
  116.                         System.out.println("$combine: no null value found");
  117.                 }
  118.                 if(combine == null) {
  119.                         ret.addAttributes(combine);
  120.                         System.out.println("$combine: null value found");
  121.                 }
  122.                 edit.getStyledDocument().setCharacterAttributes(inizioSelezione,
  123.                                 lunghezzaTestoSelezionato,
  124.                                 ret, true);
  125.         }*/
  126.         private void setSelectedTextStyle(Style style) {
  127.                 int lunghezzaTestoSelezionato = edit.getSelectedText().length();
  128.                 int inizioSelezione = edit.getSelectionStart();
  129.                 edit.getStyledDocument().setCharacterAttributes(inizioSelezione,
  130.                                 lunghezzaTestoSelezionato,
  131.                                 style, true);
  132.         }
  133.  
  134. }