JEditorPane and scrollbars

Hi there,
I'm using the JEditorPane to display some simple html and css - in fact all it is a div of a fixed width containing an abitary amount of text. What I want to do is calculate the height of the div in pixels. In a browser this is easy enough, you just use javascript to look up the div's clientHeight property, but for the life of me I can't workout how to do this using the Swing api in the JEditorPane. It must know how high the whole rendered html is as it knows when to add the vertical scroll bar
As an alternative approach i though i could just set the size of the containing JFrame and then check to see if a vertical scroll bar had appeared, if it had then I would know that the height of the text in the div exceeded the hight of the frame, but the
scrollPane.getVerticalScrollBar().isVisible() method always seems to return false...
If anyone has any idea how to do this (or rather, what i'm doing wrong) it would be appreciated.
Thanks
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.UIManager;
public class TextPane extends JFrame {
       private  JEditorPane pane;
       private   JScrollPane scrollPane;       
     public TextPane(){
         pane = new JEditorPane();
         pane.setEditable(true); // Read-only
         try{
              pane.setPage("html-file-that-contains-enough-text-to-cause-the-scroll-bar-to-appear.html");
         catch(IOException e){
              throw new RuntimeException(e);
         scrollPane = new JScrollPane(pane,
                   JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
         getContentPane().add(scrollPane);
       public static void main(String[] args) {
              try {
                  UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
              } catch (Exception evt) {}
              TextPane f = new TextPane();
              f.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent evt) {
                  System.exit(0);
              f.setSize(400, 300);
              f.setVisible(true);
              if(f.scrollPane.getVerticalScrollBar().isVisible()){
                 System.out.println("Scroll Bar is showing");
             else{
                 System.out.println("Scroll Bar is not showing");
}

If the editorpane is visible you can use getPreferredSize(). The srollpane also relies on this method to determine when to show scrollbars.
public class DivHeight {
    public static void main(String[] args) throws Exception {
        final JEditorPane pane = new JEditorPane();
        pane.setBorder(null);
        pane.setContentType("text/html");
        pane.setText("<html><div style='margin: 0px; padding: 0px; width: 200px; background-color: #DDDDDD;'>Bla bla bla bla bla saf jölasj dfölasjdf ölasjdf ölasjdfölkasjdf löjkasdf löjasdlöfk jaslökdfklö asjdf öasjdfölk asjdlfkö jaslökdj löaskdjafö lkjasdlöfk jaslökdfj ölaskjsdlköf jaslökfjlökasdjf lköasjdf lköasdjflökjsadflkjdölaksdjf ölkasdjfölk Bla bla bla bla bla saf jölasj dfölasjdf ölasjdf ölasjdfölkasjdf löjkasdf löjasdlöfk jaslökdfklö asjdf öasjdfölk asjdlfkö jaslökdj löaskdjafö lkjasdlöfk jaslökdfj ölaskjsdlköf jaslökfjlökasdjf lköasjdf lköasdjflökjsadflkjdölaksdjf ölkasdjfölk Bla bla bla bla bla saf jölasj dfölasjdf ölasjdf ölasjdfölkasjdf löjkasdf löjasdlöfk jaslökdfklö asjdf öasjdfölk asjdlfkö jaslökdj löaskdjafö lkjasdlöfk jaslökdfj ölaskjsdlköf jaslökfjlökasdjf lköasjdf lköasdjflökjsadflkjdölaksdjf ölkasdjfölk </div></html>");
        JButton button = new JButton("print size");
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.out.println(pane.getPreferredSize());
        JFrame frame = new JFrame();
        frame.getContentPane().add(button, BorderLayout.NORTH);
        frame.getContentPane().add(new JScrollPane(pane), BorderLayout.CENTER);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
}

Similar Messages

  • How to load a text file int JEditorPane and highlight some words (Urgent !)

    I want to load a text file into a JEditorPane and then highlights some keywords such as while,if and else.I am using an EditorKit in order to style the JEditorPane. I have no difficulty while giving the input through the keyboard but lots of exceptions are thrown if i try to load the string from a file.

    Hi,
    I think the setCharacterAttributes(int offset, int length, AttributeSet s, boolean replace) will solve the problem.
    You can create your own Styled Document and set it to the Editor Pane.

  • Problem with window repaint and scrollbars in edit mode (LabVIEW 8.0.1)

    I am running LabVIEW 8.0.1 in Windows XP SP3.  For my main VI, I ran into a strange problem about 5 months ago.  The front panel window - in both edit mode and run mode - stopped repainting itself on the right side which is most visible when you scroll up and down, but also visible with overlapping windows.  Coincident with the repaint problem, both scrollbars look disabled with greyed-out arrows and no boxes in the bars that you can click and drag to scroll the window.  The scrollbars still partially work if you hover the mouse over them and roll the mouse wheel but clicking and dragging doesn't work. 
    The front panel has lots of controls and indicators including tab-control containers and is larger in the horizontal and vertical directions so both scrollbars should be active.  But I deleted all elements on the front panel and everything in the block diagram and the problem persists.  So the problem is not directly related to some control/indicator display.
    I saved the simple VI with this problem (using a wide text line and a tall rounded box to test), then created a new VI and copied the two elements to the new VI.  This new VI does not have the repaint and scrollbar problem.  The two VIs differ slightly in memory usage and in revision number (the bad one is revision 1785 and the good one is revision 3), but otherwise the two VIs are identical.  I attached both VIs to this posting.  When you first open the bad VI, you'll see the disabled scrollbars whereas the good VI has active scrollbars.  To replicate the repaint problem, scroll the window up and down with your mouse wheel.  If it's fine when you first open the VI, click on another window, then click back on the VI window and try the mouse wheel again.  This clicking-away-and-back always causes the repaint problem for me.  I tried the VIs on two different computers both running Windows XP SP3 and LabVIEW 8.0.1 with identical results.
    Here's what I discovered from troubleshooting with the simple VIs:
    * scrollbars always disabled
    * repaint problem in main window for window widths larger then 680 pixels
    * repaint problem in main window menu toolbar for widths larger than 646 pixels
    * entire window becomes disabled for window widths larger than 1348 pixels
    * can repaint window by minimizing and restoring, but only repaints that one time
    * scrollbar boxes sometimes flicker into view but then disappear
    * scroll left and right by hovering mouse over horizontal scrollbar and using mouse wheel
    I found something similar on this forum (thread: Problem with front panel refresh) - it might be related to the CAR about the panel being offset internally.  I don't have access to LabVIEW 8.5 or later and don't plan to upgrade - I haven't tried the trial version as that user did.  I could try to copy and paste my entire block diagram to a new VI but the VI is so large I'm afraid something would break, plus I don't want this to happen again in a few months.  The problem seemed to occur after a certain number of saves (or revision number).  I save backup copies often and when the problem first happened, I was able to go back to a previous version, make the missing changes and save it with no problems, but this only delayed the problem and it came up later.  So maybe it's the revision number.  It didn't seem related to a particular addition or modification in the front panel or diagram.
    The image attached shows the repaint and scrollbar problems in the bad VI.
    This brings up a question I have - if this problem is a bug and was fixed in 8.5 and later, is there a way to apply bug fixes to earlier versions?  Or do I have to pay for an upgrade to fix such bugs?
    Solved!
    Go to Solution.
    Attachments:
    RepaintTest_Bad.gif ‏27 KB
    Test Repaint - From Bad VI, scrollbar and repaint problems.vi ‏7 KB
    Test Repaint - From Blank VI, no problems.vi ‏5 KB

    Seems something got corrupted with this VI. Copy things over to a fresh VI and things should be OK.
    See also this recent report of a similar issue.
    LabVIEW Champion . Do more with less code and in less time .

  • Apply formatting in a JEditorPane and export the content in HTML.

    Hi,
    I'm writing, a program to allow the user to enter a formated text and even add images in a JEditorPane.
    Here is a simple sample of the code:
    import javax.swing.*;
    import javax.swing.text.*;
    import java.awt.*;              //for layout managers and more
    import java.awt.event.*;        //for action events
    import java.net.URL;
    import java.io.IOException;
    public class EditorPane extends JPanel{
        private String newline = "\n";
        private JPanel buttonPanel;
        private JPanel textPanePanel;
        private JEditorPane myEditorPane;
        private JButton boldButton;
        private JButton colorButton;
        private JButton imgButton;
        private JButton saveButton;
         public EditorPane() {
            createGUI();
        private void createGUI() {
            buttonPanel = new JPanel();
            boldButton = new JButton("Bold");
            boldButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    boldButtonActionPerformed(evt);
            colorButton = new JButton("Color");
            colorButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    colorButtonActionPerformed(evt);
            imgButton = new JButton("Image");
            imgButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    imgButtonActionPerformed(evt);
            saveButton = new JButton("Save");
            saveButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    saveButtonActionPerformed(evt);
            buttonPanel.setLayout(new GridLayout(1, 4));
            buttonPanel.add(boldButton);
            buttonPanel.add(colorButton);
            buttonPanel.add(imgButton);
            buttonPanel.add(saveButton);
            textPanePanel = new JPanel();
            textPanePanel.setLayout(new BorderLayout());       
            myEditorPane = this.createEditorPane();
            JScrollPane paneScrollPane = new JScrollPane(myEditorPane);
            textPanePanel.add(paneScrollPane, BorderLayout.CENTER);
            this.setLayout(new BorderLayout());
            this.add(buttonPanel, BorderLayout.NORTH);
            this.add(textPanePanel, BorderLayout.CENTER);
        public static void main(String[] args) {
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                     JFrame frame = new JFrame("TextSamplerDemo");
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                   EditorPane newContentPane = new EditorPane();
                    //newContentPane.setOpaque(true); //content panes must be opaque
                    frame.setContentPane(newContentPane);
                    frame.pack();
                    frame.setSize(300,300);
                    frame.setVisible(true);
    private JEditorPane createEditorPane() {
            JEditorPane editorPane = new JEditorPane();
            editorPane.setEditable(true);
            java.net.URL helpURL = TextSamplerDemo.class.getResource(
                                            "simpleHTMLPage.html");
            if (helpURL != null) {
                try {
                    editorPane.setPage(helpURL);
                } catch (IOException e) {
                    System.err.println("Attempted to read a bad URL: " + helpURL);
            } else {
                System.err.println("Couldn't find file: simpleHTMLPage.html");
            return editorPane;
        private void boldButtonActionPerformed(java.awt.event.ActionEvent evt) {
        System.out.println("boldButtonNextActionPerformed");
        //myEditorPane
            // TODO add your handling code here:
        private void colorButtonActionPerformed(java.awt.event.ActionEvent evt) {
        System.out.println("colorButtonActionPerformed");
            // TODO add your handling code here:
        private void imgButtonActionPerformed(java.awt.event.ActionEvent evt) {
        System.out.println("imgButtonActionPerformed");
            // TODO add your handling code here:
        private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) {
        System.out.println("saveButtonActionPerformed");
        String newStr = new String("this is the new String");
        //newStr.setFont(new java.awt.Font("Tahoma", 0, 14));
        this.myEditorPane.replaceSelection("sdfsdfsd");
            // TODO add your handling code here:
    }and the HTML Code of simpleHTMLPage.html is
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <p>Simple text</p>
    <p><strong>Bold text</strong></p>
    <p><em>Italic text</em></p>
    <p align="center">Center text</p>
    <p><font color="#000099"><strong>Color text</strong></font></p>
    <p>image here : <img src="images/Pig.gif" width="121" height="129"></p>
    <p> </p>
    </body>
    </html>By pressing the Save button I can change the selected text.
    I don�t know the way to get and apply the format (size, color �) to only the selected text and display the selected image in real time in the EditorPane. Like if you press the Bold button, the selected text font will be change to bold.
    I would like to get or save the HTML code of the content of the EditorPane by pressing the Save button, How to make it?
    I can apply the formatting on the selected text in a JTextPane, but I don't know the way to save or export the content in HTML. By doing that it could fix my problem too.
    So any help to do that will be much appreciated.
    Thanks.

    Hi,
    Tks for your answer. That one I can do it. I would like to display the selected text in bold instead of adding the tag in the JEditorPane. If I get you right, you get the hole content of the JEditorPane and save it. How did you get it ? And before saving that in the database, did you fing the keysWord to convert the HTML tag in the corresponding entities ?
    Bellow you have a sample of code to make the formatting in the JTextPane.
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.text.*;
    import javax.swing.text.Highlighter;
    import javax.swing.event.*;
    import java.util.*;
    import javax.swing.text.*;
    import javax.swing.text.BadLocationException;
    public class MonJTextPane extends JFrame implements CaretListener, ActionListener
              *     Attributs :
         private JTextPane monTextPane;
         private JLabel monLabel;
         private JButton monBouton;
         private StyleAide style; // class qui defini les effets de style de l'editeur
              *     Constructeur :
         public MonJTextPane ()
         {     super ("Aide");
              // construction du composant Texte
              this.style = new StyleAide (new StyleContext ());
              this.monTextPane = new JTextPane ();
              this.monTextPane.setDocument (style);
              this.monTextPane.addCaretListener (this);
              // construction de la fenetre :
              this.getContentPane ().setLayout (new BorderLayout ());
              this.setBounds (150,150,600,550);
              this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
              this.monLabel = new JLabel ("Auncune ligne saisie...");
              this.monBouton = new JButton ("change de style");
              this.monBouton.addActionListener (this);
              JPanel panel = new JPanel ();
              panel.setLayout (new GridLayout (1,2));
              panel.add (monLabel);
              panel.add (monBouton);
              this.getContentPane ().add (panel, BorderLayout.SOUTH);
              this.getContentPane ().add (this.monTextPane, BorderLayout.CENTER);
              this.setVisible (true);
              *     Methodes :
         private int getCurrentLigne ()
         {     return ( this.style.getNumLigne (monTextPane.getCaretPosition ())+1 );
         public int getCurrentColonne ()
         {     return ( this.style.getNumColonne (monTextPane.getCaretPosition ())+1 );
              *     Methodes CaretListener:
         // ecoute les deplacements du curseur d'insertion
         public void caretUpdate(CaretEvent e)
         {     int debut = java.lang.Math.min (e.getDot (), e.getMark ());
              int fin   = java.lang.Math.max (e.getDot (), e.getMark ());
              this.monLabel.setText ("Ligne numero : "+ this.getCurrentLigne ()+" Colonne : "+this.getCurrentColonne ()+" (debut : "+debut+", fin : "+fin+")");
              *     Methodes ActionListener:
         public void actionPerformed (ActionEvent e)
         {     int start     = monTextPane.getSelectionStart();
              int end          = monTextPane.getSelectionEnd();
              int debut     = java.lang.Math.min (start, end);
              int fin          = java.lang.Math.max (start, end);
              int longueur= fin - debut;
              this.style.changeStyleSurligne (debut, longueur);
         // lance le tout ....
         public static void main (String argv [])
         {     new MonJTextPane ();
    // la Classe DefaultStyledDocument correspond a la classe utilise comme Model pour les
    // composant Texte evolue comme : JTextPane ou JEditorPane
    // en derivant de cette derniere nous pouvons donc redefinir les methodes d'insertion afin de personnalise
    // le style d'ecriture en fonction du texte et creer une methode permettant de modifier le style utilise pour
    // une partie de texte deja ecrite.
    class StyleAide extends DefaultStyledDocument
              *     Constructeur :
         public StyleAide (StyleContext styles)
         {     super (styles);
              initStyle (styles);
              *     Methodes :
         // redefini pour choisir l'effet de style a utiliser
         public void insertString(int offs, String str, AttributeSet a) throws BadLocationException
         {     try
              {     // si le texte insere est egale a HELP le texte s'ecrit avec le style "styleOp"
                   if ( str.equals ("HELP") )
                   {     super.insertString (offs, str, getStyle ("styleOp"));
                   else // sinon le texte est ecrit avec le style "styleNormal"
                   {     super.insertString (offs, str, getStyle ("styleNormal"));
              catch (BadLocationException e)
              {     System.out.println ("Tuuuttt erreur Insere");
         // modifie le style d'ecriture d'un texte deja ecrit compris
         public void changeStyleSurligne (int positionDepart, int longueur)
         {     setCharacterAttributes (positionDepart, longueur, getStyle ("styleKeyWord"), true);
         // le Model d'un composant texte est enregistre sous form d'un arbre
         // cette methode permet de recuperer le noeud root de l'arbre
         private Element getRootElement ()
         {     return this.getDefaultRootElement ();
         // methode permettant d'obtenir la ligne correspondant a un offset donnee
         public int getNumLigne (int offset)
         {     Element eltR = getRootElement ();
              int numLigne = eltR.getElementIndex (offset);
              Element elt  = eltR.getElement (numLigne);
              if ( offset != elt.getEndOffset () )
              {     return numLigne;
              else
              {     if ( numLigne != 0 )
                   {     return numLigne+1;
              return 0;
         public int getNumColonne (int offset)
         {     Element eltR = getRootElement ();
              Element elt = eltR.getElement (eltR.getElementIndex (offset));
              int numColonne = offset-elt.getStartOffset ();
              return numColonne;
         // Defini les differents styles
         private static void initStyle (StyleContext styles)
         {     // definition du style pour le texte normal (brute)
              javax.swing.text.Style defaut = styles.getStyle (StyleContext.DEFAULT_STYLE);
              javax.swing.text.Style styleNormal = styles.addStyle("styleNormal", defaut);
              StyleConstants.setFontFamily (styleNormal, "Courier");
              StyleConstants.setFontSize (styleNormal, 11);
              StyleConstants.setForeground(styleNormal, Color.black);
              javax.swing.text.Style tmp = styles.addStyle("styleKeyWord", styleNormal);
              // Ajout de la couleur blue et du style gras pour les mots cle
              StyleConstants.setForeground(tmp, Color.blue);
              StyleConstants.setBold(tmp, true);
              tmp = styles.addStyle("styleOp", styleNormal);
              // Ajout de la couleur rouge pour le style des operateurs
              StyleConstants.setForeground(tmp, Color.red);
    }But it hard for me to convert it in the corresponding HTML document.
    Did you have and idea
    Tkks

  • Instantiating TextInput and ScrollBar

    I have an application that I moved from Flash CS3. It
    instantiated a fl.controls.TextInput and ScrollBar and added them
    to the display list with addChild(). After moving to Flex 3 I
    naively changed the packages to mx.controls and got the code to
    compile. However the objects do not show on screen so I am missing
    something. All the examples I can find use mxml. I would like to
    create the above objects programatically because otherwise I need
    to put together mxml for all the application and this will be a
    major setback.
    What options do I have?
    Thanks!

    Just for the record, I am going for now in this path
    http://www.zeuslabs.us/2008/02/10/how-to-use-the-flash-cs3-component-set-in-a-flex-builder -actionscript-project/
    This seems to be the easiest incremental change.

  • [svn:fx-trunk] 12078: Fix for change events in Slider and ScrollBar.

    Revision: 12078
    Revision: 12078
    Author:   [email protected]
    Date:     2009-11-21 00:14:46 -0800 (Sat, 21 Nov 2009)
    Log Message:
    Fix for change events in Slider and ScrollBar. They now dispatch change events as before, whenever the user alters the value. In addition, changeStart and changeEnd events will be dispatched at the start and end of a user interaction or animation.
    TrackBase.as - Added metadata for changeStart/End events. Dispatch change, changeStart/End events when appropriate.
    Slider.as - Dispatch change, changeStart/End events when appropriate.
    ScrollBar.as - Dispatch the appropriate events. Note that changeStart/End will not dispatch when shift-clicking on a non-animating ScrollBar. Renamed animatingSinglePage to animatingOnce to better reflect its function. Refactored some method calls to the new private stopAnimation(), which is more consistent with Slider. Refactored the button handlers to make stepping more readable. Added a setValue call in animationEndHandler where we were ending up off the snapInterval when shift-clicking.
    Updated FlexEvent, ScrollBarTestScript and VideoPlayer to handle the new events.
    QE notes: Update Slider and ScrollBar tests
    Doc notes: No
    Bugs: SDK-24264
    Reviewer: Ryan
    Tests run: checkintests
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-24264
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
        flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/ScrollBarTestScript.mxml

  • 10g: Enabled list items and scrollbars look disabled

    Hi,
    Is there any way to change the way list items and scrollbars look in 10g?
    Enabled list items and scrollbars look disabled to me (the list button on the list item and the arrow buttons on the scrollbars are greyed out).
    Visual attributes doesn't seem able to control this.

    Nope you're pretty much stuck with the look and feel of the decoratiosn unless you want to create your own pluggable component - this would give you more control but you'd have to consider if it's worth the investment.

  • JEditorPane and HTML Coded Character Set

    Hi.
    How to prevent JEditorPane to convert its content into HTML coded character set (like
    &#1072;&#1073;&#1074;&#1075;&#1076;&#1077;&#1105;&#1078;
    I would like to receive normal unicode string from getText() method.
    Setting content type
    editorPane.setContentType("text/html; charset=ISO-10646");
    has no effect.

    you would have to iterate through the elements of the HTMLDocument in the JEditorPane and look for the HTML tags you are interested in. Once a tag is found its AttributeSet will have the content. I am too lazy to post how it is done again. There are tons of postings in the forum about the topic, so by simply using the search function you should find respective hints.

  • Whats the difference between JEditorPane and JTextPan

    I was wondering where to use which? It looks like they have the same features, except that JEditorPane can load text from a URL.

    Hi,
    ofcourse it can, it is a subclass of JEditorPane and inherits its functionality :)
    greetings Marsian

  • Help with z program output and scrollbars

    Morning all
    We are running an ERP2004 SAP system, and we're having some problems with a z program. Basically it was a quick bit of code put together to check user names against the names stored in PA.
    Now the problem is that when the report is output on a PC running its screen resolution at 1024x768, we can't see the last field output in the report and there's no horizontal scroll bar. If we run the program on a desktop with a screen resolution at 1280x1024, we can see the last column, so no need for the scrollbar and it's not output.
    Now I thought SAP added the scroll bars automatically for you if you needed them? Has anyone come across this before, because I haven't and it seems very strange indeed!

    and also u have to checl LINE-SIZE while defining the Report.
    Regards
    Prabhu

  • JEditorPane and JTree

    Hi,
    I have a tree that lists all objects and I want to do some kind of search feature. Results would be displayed in JEditorPane but I don't know anything about that. In JTree there is TreeSelectionListener (method valueChanged) and that has the functionality I need to have on JEditorPane but I don't know if this is possible?
    Any advices please?

    Hi,
    I have a tree that lists all objects and I want to do some kind of search feature. Results would be displayed in JEditorPane but I don't know anything about that. In JTree there is TreeSelectionListener (method valueChanged) and that has the functionality I need to have on JEditorPane but I don't know if this is possible?
    Any advices please?

  • JTable help:- Setting Table Header and scrollbar

    hi
    everybody.
    i have create a table which is getting the data from URL Connection by parsing the XML file.
    All is working fine but the only problem is that i am not able to set the column headers.
    and also want to set scrollbars to my table because the data in my table is long.
    i have tried with JTableHeader and TableModel, but i am confused with it.
    so can anybody solve my problem.
    i am sending my code for creating table, and also sending the file from which the data is retrieved.
    please go through the code and reply me.
    If u are not able to parse the xml file than simply removed that part and using the QUERYResp.txt which i have attached, because i think the URL which i am using will not be accessed other than my network
    waiting for reply.
    //SelectPrivilege.java
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.event.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.xml.parsers.*;
    import org.xml.sax.*;
    import org.w3c.dom.*;
    import java.net.*;
    import java.util.*;
    public class SelectPrivilege extends JFrame implements ActionListener
         JFrame frame;
         JTable table;
         JPanel buttonpanel;
         JButton openbutton,donebutton;
         String strclassname,strmembertype,strpasswordduration,strclassdescription;
        private boolean ALLOW_ROW_SELECTION = true;
        ListSelectionModel rowSM;
         Document document;
         Node node;
         NodeList employees,children;
         Element employee;
         String inputline,strSuccess;
         URL url;
         URLConnection connection;
         FileInputStream fis;
         DataInputStream dis;
         String objid,classname,membertype,passwordexp,description,finalstring;
         StringTokenizer st;
         String strurl = "<CLFAPP><CLFYAPP_MSG_TYPE_MSG_TYPE>QUERY</CLFYAPP_MSG_TYPE_MSG_TYPE><TABLE>PRIVCLASS</TABLE><FIELDS>OBJID,CLASS_NAME,MEMBER_TYPE,PSWRD_EXP_PER,DESCRIPTION</FIELDS><FILTER></FILTER></CLFYAPP>";
         public SelectPrivilege()
              JFrame.setDefaultLookAndFeelDecorated(true);
              frame = new JFrame("Select Privilege Class");
              try
                   url = new URL("http://10.8.54.55:7002/RILClarifyAppRequest?XML=" + strurl);
                   connection = url.openConnection();
                   BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                   FileOutputStream out = new FileOutputStream("QUERYResp.xml");
                   PrintStream p = new PrintStream(out);
                   while ((inputline = reader.readLine()) != null)
                        System.out.println("Response Received......");
                        p.println(inputline);
                   p.close();
                   reader.close();
              catch(MalformedURLException e)
                   System.out.println(e.getCause());
              catch(IOException e)
                   System.out.println(e.getCause());
              //Parsing XML
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              try
                   DocumentBuilder builder = factory.newDocumentBuilder();
                   document = builder.parse(new File("QUERYResp.xml"));
                   node = document.getDocumentElement();
                   employees = document.getElementsByTagName("RECORD");
                   FileOutputStream out = new FileOutputStream("QUERYResp.txt");
                   PrintStream p = new PrintStream(out);
                   for(int i = 0; i < employees.getLength(); i++)
                        final Element employee = (Element)employees.item(i);
                        p.print(getValueOf(employee,"OBJID"));
                        p.print("#");
                        p.print(getValueOf(employee,"CLASS_NAME"));
                        p.print("#");
                        p.print(getValueOf(employee,"MEMBER_TYPE"));
                        p.print("#");
                        p.print(getValueOf(employee,"PSWRD_EXP_PER"));
                        p.print("#");
                        p.print(getValueOf(employee,"DESCRIPTION"));
                        p.print("#@");
                        //p.close();
                        objid = getValueOf(employee,"OBJID");
                        classname = getValueOf(employee,"CLASS_NAME");
                        membertype = getValueOf(employee,"MEMBER_TYPE");
                        passwordexp = getValueOf(employee,"PSWRD_EXP_PER");
                        description = getValueOf(employee,"DESCRIPTION");
              catch(SAXException sxe)
                   Exception x = sxe;
                   if(sxe.getException() != null)
                        x = sxe.getException();
                   x.printStackTrace();
              catch(ParserConfigurationException pce)
                   pce.printStackTrace();
              catch(IOException ioe)
                   ioe.printStackTrace();
              catch(NullPointerException npe)
                   System.out.println(npe.getCause());
              table();
              buttonpanel = new JPanel();
              buttonpanel.setLayout(new FlowLayout());
              openbutton = new JButton("Open");
              donebutton = new JButton("Done");
              donebutton.setMnemonic('d');
              buttonpanel.add(openbutton);
              buttonpanel.add(donebutton);
              openbutton.addActionListener(this);
              donebutton.addActionListener(this);
              Container contentpane = getContentPane();
              frame.setContentPane(contentpane);
              contentpane.setLayout(new BorderLayout());
              contentpane.add(table.getTableHeader(),BorderLayout.PAGE_START);
              contentpane.add(table,BorderLayout.CENTER);
              contentpane.add(buttonpanel,BorderLayout.SOUTH);
              frame.setSize(500,400);
              frame.setVisible(true);
         static String getValueOf (Element element, String tagname)
              final NodeList children = element.getElementsByTagName(tagname);
              if (children.getLength() == 0) { return null; }
                   return concat(children, new StringBuffer()).toString();
         static StringBuffer concat (NodeList nodelist, StringBuffer buffer)
              for (int index = 0, length = nodelist.getLength(); index < length; index++)
                   final Node node = nodelist.item(index);
                   switch (node.getNodeType())
                        case Node.CDATA_SECTION_NODE: buffer.append(node.getNodeValue()); break;
                        case Node.ELEMENT_NODE: concat(node.getChildNodes(), buffer); break;
                        case Node.TEXT_NODE : buffer.append(node.getNodeValue()); break;
              return buffer;
         public void table()
              try
                   fis = new FileInputStream("QUERYResp.txt");
                   dis = new DataInputStream(fis);
                   finalstring = dis.readLine();
              catch(IOException e)
              st = new StringTokenizer(finalstring, "@");
              table = new JTable(st.countTokens() + 1,5);
              table.setValueAt("OBJID",0,0);
              table.setValueAt("CLASS NAME",0,1);
              table.setValueAt("MEMBER TYPE",0,2);
              table.setValueAt("PASSWORD DURATION",0,3);
              table.setValueAt("DESCRIPTION",0,4);
              int count = 0,cnt=0;
              StringTokenizer st1 = null;
              try
                   while(st.hasMoreTokens())
                        st1 = new StringTokenizer(st.nextToken(),"#");
                        cnt=0;
                        while(st1.hasMoreTokens())
                             table.setValueAt(st1.nextToken(),count,cnt++);
                        count++;
                        st1=null;
              catch(Exception e)
                   e.printStackTrace();
              //JTableHeader header = table.getTableHeader();
              table.setPreferredScrollableViewportSize(new Dimension(200,500));
            table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            if(ALLOW_ROW_SELECTION)
                 rowSM = table.getSelectionModel();
                 rowSM.addListSelectionListener(new ListSelectionListener(){
                            public void valueChanged(ListSelectionEvent e)
                                 ListSelectionModel row = (ListSelectionModel)e.getSource();
                                 if (row.isSelectionEmpty() == true)
                                    System.out.println("No rows are selected.");
                                else
                                     if (e.getValueIsAdjusting())
                                          return;
                                         int selectedRow = row.getMinSelectionIndex();
                                         System.out.println("Row " + selectedRow + " is now selected.");
                 JScrollPane scrollpane = new JScrollPane(table);
         public void createprivilegeclassdetails()
              PrivilegeClassDetails privilegeclassdetailsobj = new PrivilegeClassDetails();
              privilegeclassdetailsobj.frame.setSize(400,400);
              privilegeclassdetailsobj.frame.setVisible(true);
         public void actionPerformed(ActionEvent ae)
              String str = ae.getActionCommand();
              if(str.equalsIgnoreCase("done"))
                   System.out.println("SelectPrivilege Window Closed");
                   frame.dispose();
              if(str.equalsIgnoreCase("open"))
                   System.out.println("here");
                   createprivilegeclassdetails();
         public static void main(String a[])
              new SelectPrivilege();
    Copy the whole line if ur saving this in a file, as it is a string
    //QUERYResp.txt
    268435457#CSR#Employees#0#Customer Support Representative#@268435458#Hotline Engineer#Employees#0#Hotline Engineer#@268435459#Product Specialist#Employees#0#Product Specialist#@268435460#Senior Product Specialist#Employees#0#Senior Product Specialist#@268435461#Field Engineer#Employees#0#Field Engineer#@268435462#Support Manager I#Employees#0#Support Manager I#@268435463#Support Manager II#Employees#0#Support Manager II#@268435464#Development Engineer#Employees#0#Development Engineer#@268435465#Development Manager#Employees#0#Development Manager#@268435466#QA Engineer#Employees#0#QA Engineer#@268435467#QA Manager#Employees#0#QA Manager#@268435468#Technical Writer#Employees#0#Technical Writer#@268435469#Technical Publications Manager#Employees#0#Technical Publications Manager#@268435470#Site Configuration Manager#Employees#0#Site Configuration Manager#@268435471#Product Administrator#Employees#0#Product Administrator#@268435472#Technical Product Administrator#Employees#0#Technical Product Administrator#@268435473#Contract Specialist#Employees#0#Contract Specialist#@268435474#System Administrator#Employees#90#System Administrator#@268435475#Submitter#Contacts#0#Submitter#@268435476#Viewer#Contacts#0#Viewer#@268435477#Inventory Specialist#Employees#0#Inventory Specialist#@268435478#Logistics Manager#Employees#0#Logistics Manager#@268435479#Sales Representative#Employees#0#Sales Representative#@268435480#Marketing Representative#Employees#0#Marketing Representative#@268435481#Sales Manager#Employees#0#Sales Manager#@268435482#Offline User#Employees#0#Privilege Class for use with ClearEnterprise Traveler#@268435483#Call Center Agent#Employees#30#Call Center Agent#@268435484#Call Center Manager#Employees#0#Call Center Manager#@268435485#Customer Service Agent#Employees#0#Customer Service Agent#@268435486#Telemarketing Agent#Employees#0#Telemarketing Agent#@268435487#Telesales Agent#Employees#0#Telesales Agent#@268435488#Telesales Manager#Employees#0#Telesales Manager#@268435489#Avaya_Users#Employees#0#Privilege Class for Avaya. Only Clear Call Center Application Enabled.#@268435490#Account Manager#Employees#0#Account Manager for Accounts#@268435491#Account Executive#Employees#30#Account Executive for Accounts#@268435492#Pre Sales Tech Executive#Employees#0#Pre Sales Technical Executive#@268435493#Pre Sales Tech Team Lead#Employees#0#Pre Sales Technical Team Leader#@268435494#Post Sales Tech Executive#Employees#0#Post sales technical executive#@268435495#Post Sales Commercial Executive#Employees#0#Post sales commercial executive#@268435496#Vertical Domain Expert#Employees#0#Vertical Domain Expert#@268435497#Supervisor#Employees#0#Supervior who approves the billing adjustments#@268435498#RA#Employees#0##@268435499#Configuration#Employees#90#Privilege Class for Clarify Configurators#@268435500#FO Online Agent#Employees#0#Testing#@268435501#OTAF Remote Funcionality#Employees#0##@268435502#Sr.Manager CC#Employees#0#Customization for phase1 RUNS (1a).#@268435503#FO Online Unit - Agent #Employees#0#Customization for phase1 RUNS (1).#@268435504#FO Online - Agent (outbound)#Employees#0#Customization for phase1 RUNS (1b).#@268435505#Incoming mail unit manager#Employees#0#Customization for phase1 RUNS (2).#@268435506#Save team agent#Employees#0#Customization for phase1 RUNS (3).#@268435507#Save team supervisor#Employees#0#Customization for phase1 RUNS (4).#@268435508#Technical suport agent#Employees#0#Customization for phase1 RUNS (5).#@268435509#Technical suport supervisor#Employees#0#Customization for phase1 RUNS (6).#@268435510#Webstore Agents#Employees#0#Customization for phase1 RUNS (7).#@268435511#FO Offline Unit (Reg)- Supervisor#Employees#0#Customization for phase1 RUNS (8).#@268435512#Head C. Service (Circles)#Employees#0#Customization for phase1 RUNS (8a).#@268435513#Revenue Assurance#Employees#0#Customization for phase1 RUNS (9).#@268435514#Manager CC#Employees#0#Customization for phase1 RUNS (1a).#@268435515#FO Offline Unit - Agent at Contact Centre#Employees#0#Customization for phase1 RUNS (1).#@268435516#Telesales unit agent#Employees#0#Customization for phase1 RUNS (1).#@268435517#Incoming mail unit agent#Employees#0#Customization for phase1 RUNS (1).#@268435518#Telesales supervisor#Employees#0#Customization for phase1 RUNS (2).#@268435519#FO Online Unit - Supervisor#Employees#0#Customization for phase1 RUNS (2).#@268435520#FO Offline Unit (CC) - Supervisor#Employees#0#Customization for phase1 RUNS (2).#@268435521#TT unit agent#Employees#0#Customization for phase1 RUNS (5).#@268435522#TT unit supervisor#Employees#0#Customization for phase1 RUNS (6).#@268435523#Pos Agents#Employees#0#Customization for phase1 RUNS (7).#@268435524#FO Offline Unit - Regions#Employees#0#Customization for phase1 RUNS (7).#@268435525#Service fulfillment unit agent#Employees#0#Customization for phase1 RUNS (7).#@268435526#Sales Executives (Regions)#Employees#0#Customization for phase1 RUNS (7).#@268435527#Webstore Manager#Employees#0#Customization for phase1 RUNS (8).#@268435528#Service fulfillment unit manager#Employees#0#Customization for phase1 RUNS (8).#@268435529#Network#Employees#0#Customization for phase1 RUNS (9).#@268435530#After Sales#Employees#0#Customization for phase1 RUNS (9).#@268435531#Handsets#Employees#0#Customization for phase1 RUNS (9).#@268435532#Portal#Employees#0#Customization for phase1 RUNS (9).#@268435533#GIS#Employees#0#Customization for phase1 RUNS (9).#@268435534#Logistics#Employees#0#Customization for phase1 RUNS (9).#@268435535#Data Services#Employees#0#Customization for phase1 RUNS (9).#@268435536#Production Support#Employees#0#Since it is possible to temper the data form the Clarify GUI , restrict all access to users except for the minimal in order to control the env.#@268435537#Webstore Users#Employees#0##@268435539#IN_CSR#Employees#0#Privilege Class for Prepaid CSR's#@268435540#Configuration_Maha#Employees#0#Privilege Class for Clarify Configurators#@268435541#test privilege class#Employees#0##@268435542#PS_TEST#Employees#0##@268435543#TEST SACHIN#Employees#0#SACHIN TEST#@268435544#Supervisor1#Employees#300#Supervise and monitor agents#@268435545#Call Center Adminstrator#Employees#0#Call Center Admin Priv#@268435546#siva_test#Employees#0#new privilege class for test purpose#@268435547#PREPAID PCO#Employees#0#For PREPAID PCO#@268435548#santo_test#Employees#0#new privilage class for test#@

    Don't start by writing a 100 line program to test a component you don't know how to use. Start by writing a 10 line program. This is all you need:
              String[] columnNames = {"Date", "String", "Centered", "Integer", "Boolean"};
              Object[][] data =
                   {new Date(), "A", "A", new Integer(1), new Boolean(true)},
                   {new Date(), "B", "B", new Integer(2), new Boolean(false)},
                   {new Date(), "C", "C", new Integer(10), null},
                   {new Date(), "D", "D", new Integer(4), new Boolean(false)}
              DefaultTableModel model = new DefaultTableModel(data, columnNames);
              model.addTableModelListener( this );
              table = new JTable( model )
                   //  Returning the Class of each column will allow different
                   //  renderers to be used based on Class
                   public Class getColumnClass(int column)
                        return getValueAt(0, column).getClass();
              table.setPreferredScrollableViewportSize(table.getPreferredSize());
              JScrollPane scrollPane = new JScrollPane( table );
              getContentPane().add( scrollPane );

  • JEditorPane and HTML

    I have this html file on my C drive and I want to display it in a JEditorPane. THe problem is that I always get this malformed URL exception. I've done this before, but right now I can't seem to figure out whats happening. Any help as to the syntax and how I can go about doing this. Thanks

    It would help if you can post the URL you're using.

  • JEditorPane and copy/paste

    Hello,
    I've got an applet with an editable JEditorPane.
    I can make a copy/paste in the editor from any application outside the applet and from the applet itself. But with Word under windows, the paste method tries to insert html rendered by word and it can't do that.
    Then I extended the TransferHandler class to make my own transfer handler, just to copy the text from a word selection. But doing that I can't do any copy/paste from the editor to the editor .... I don't understand ...
    public class MyTransferHandler extends TransferHandler {
         public boolean importData(JComponent comp, Transferable t)
         try {
              if (t.isDataFlavorSupported(new DataFlavor("text/plain;class=java.io.InputStream;charset=ISO-8859-1"))) {
              System.out.println("Flavor text/plain charset ISO-8859-1");
              InputStream data = (InputStream) t.getTransferData(new DataFlavor("text/plain;class=java.io.InputStream;charset=ISO-8859-1"));
              InputStreamReader isReader = new InputStreamReader(data);
              StringWriter strw = new StringWriter();
              int c;
              while ((c = isReader.read()) != -1) {
                   strw.write(c);
              //          System.out.println(strw.toString());
              SimpleHtmlWriter.this.editor.replaceSelection(strw.toString());
              } else if (t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
              System.out.println("Flavor string");
              String data = (String) t.getTransferData(DataFlavor.stringFlavor);
              //          System.out.println(data);
              SimpleHtmlWriter.this.editor.replaceSelection(data);
              return true;
         } catch (Exception e) {     
              e.printStackTrace();
              return false;
    Thanks a lot ...

    Or, you could use the cut, copy, paste methods of the JEditorPane.
    You can also use the DefaultEditorKit.CopyAction to create an Action to use on a button or menu item.

  • JEditorPane and HTMLEditorKit: can't set alignment after invoking setText

    When i write text into JEditorPane i can change the alignment of this text.
    With getText i get the html-code. After invoking setText() with this html-code the alignment-action does not work.
    Here is some test-code to show this. but the test fails only sometimes.
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.KeyEvent;
    import java.util.HashMap;
    import java.util.Map;
    import javax.swing.Action;
    import javax.swing.JEditorPane;
    import javax.swing.JFrame;
    import javax.swing.SwingUtilities;
    import javax.swing.text.html.HTMLEditorKit;
    import junit.extensions.jfcunit.JFCTestCase;
    import junit.extensions.jfcunit.JFCTestHelper;
    import junit.extensions.jfcunit.eventdata.KeyEventData;
    import junit.framework.AssertionFailedError;
    public class EditorPaneTest extends JFCTestCase {
      // Private instance variables ( fixtures )
      // ==============================================================================================
      private JFCTestHelper jfcHelper= null;
      private JEditorPane testInstance = null;
      public EditorPaneTest( String testName ) {
        super( testName );
      // Class methods
      // ==================================================================================================================
      public static junit.framework.Test suite() {
        junit.framework.TestSuite suite = new junit.framework.TestSuite( EditorPaneTest.class );
          return new junit.extensions.RepeatedTest( suite , 5 );
      // Instance methods
      // ==================================================================================================================
      // Protected ( setup and teardown test case )
      protected void setUp() throws java.lang.Exception {
        super.setUp();
        junit.extensions.jfcunit.JFCTestHelper.setCurrentTestCase( this );
        jfcHelper = new JFCTestHelper();
      protected void tearDown() throws java.lang.Exception {
        try {
          // Add tearDown code for fixtures here
        } // try
        finally {
          jfcHelper = null;
          junit.extensions.jfcunit.TestHelper.cleanUp( this );
          super.tearDown();
        } // finally
      // Public ( testcases )
      @SuppressWarnings("nls")
      public void testCreation() throws Exception {
        SwingUtilities.invokeAndWait( new Runnable() {
          public void run() {
            testInstance = new JEditorPane();
        assertNotNull( testInstance );
        final JFrame frame = new JFrame( "test" );
        frame.getContentPane().add( testInstance , BorderLayout.CENTER );
        frame.setSize( 800 , 600 );
        frame.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
        frame.setVisible( true );
        testInstance.setEditorKit( new HTMLEditorKit() );
        Map< String , Action > actionMap = new HashMap< String , Action >();
        Action[] actions = testInstance.getEditorKit().getActions();
        for ( Action a : actions ) {
          actionMap.put( ( String ) a.getValue( Action.NAME ) , a );
        jfcHelper.sendKeyAction( new KeyEventData( this , testInstance , KeyEvent.VK_T ) );
        jfcHelper.sendKeyAction( new KeyEventData( this , testInstance , KeyEvent.VK_S ) );
        jfcHelper.sendKeyAction( new KeyEventData( this , testInstance , KeyEvent.VK_T ) );
        selectAll();
        Action centerAction = actionMap.get( "center-justify" ); //$NON-NLS-1$
        centerAction.actionPerformed( new ActionEvent( this , ActionEvent.ACTION_PERFORMED , "align" ) );
        final String html = testInstance.getText();
        SwingUtilities.invokeAndWait( new Runnable() {
          public void run() {
            testInstance.setText( html );
        final String htmlAfterInit = testInstance.getText();
        selectAll();
        Action leftAction = actionMap.get( "left-justify" );//$NON-NLS-1$
        leftAction.actionPerformed( new ActionEvent( this , ActionEvent.ACTION_PERFORMED , "align" ) );
        final String htmlAfterAlignLeft = testInstance.getText();
        new alltests.AbstractMockTimeoutVerifier( alltests.AbstractMockTimeoutVerifier.Type.SWING ) {
          public void doVerify() throws AssertionFailedError {
            assertFalse( htmlAfterInit.equals( htmlAfterAlignLeft ) );
            System.out.println(htmlAfterInit); //$NON-NLS-1$ // TODO: Remove
            System.out.println("-------------------------"); //$NON-NLS-1$ // TODO: Remove
            System.out.println(htmlAfterAlignLeft); //$NON-NLS-1$ // TODO: Remove
        }.verify();
      // Private ( helpers )
      private void selectAll() throws AssertionFailedError, InterruptedException{
        SwingUtilities.invokeLater( new Runnable() {
          public void run() {
            testInstance.selectAll(); 
        new alltests.AbstractMockTimeoutVerifier( alltests.AbstractMockTimeoutVerifier.Type.SWING ) {
          public void doVerify() throws AssertionFailedError {
            assertTrue( 0 < testInstance.getSelectedText().length() );
        }.verify();
    }

    I remember having a similiar problem. It was caused by the session not using the properties passed in. I seem to remember I needed to set a system property at startup, but can't remember what it was. JGuru has this to say though:
    Q:
    I'm getting my Session with Session.getDefaultInstance and its not getting changes to the Properties passed in. What's wrong?
    A:
    In getDefaultInstance(Properties props), the Properties are only used in the initial call. Future calls ignore the setting, returning the previously created Session. If you need to change the Properties, like to change SMTP servers, you should use getInstance(Properties props) instead.

Maybe you are looking for

  • Imac intel memory

    hi just purchased a imac intel with 512mb memory,wanted at least another 512mb but the apple store doesnt stock it yet and nobody else stocks it like best buy,compusa.so my question is the imac takes pc5300 ddr2 200 pin notebook memory will pc4700 dd

  • Text Not Displaying in Design Mode

    About mid-way through creating my first Muse website, the body text of my pages quit being displayed while in Design mode.  The text boxes are all still there and I can select the text, change the text, etc. but can't see what I am doing.  When I hit

  • Error using a binding to get current row data

    Hi, from a previous post ( Calling a stored procedure ) that has been answered i have reached to this point and cant get go on: i have a method declared on appmoduleimpl that calls to a procedure stored in the database and passes two parameters (one

  • Problem in setting dataprovider for a dynamically generated datagrid

    Hi everybody I have a issue in flex, I am generating datagrids dynamically by using repeaters but i am unable to set a seperate dataprovider for each grid Grid1 might come with some set of data and grid 2 with some and so on so i want to set dataprov

  • QuickTime, AVI, Codec

    Okay, so first off, I have searched and searched and searched for the answer to my question, but I haven't had any luck finding a resolution. I downloaded some .avi files (and yes, I realize .avi files are the devil, so no need to harp). I was able t