Need help on Multi level menu implementation

Hi All,
Need help on Multi level menu implementation
Thanks,
Anu

Hi Anu,
Please go through this link Implement Multilevelmenu navigation
Thanks,

Similar Messages

  • Need help with multi-level categorization

    Hi,
    We have the following scenario:
    A complaint has a subject profile with two catalogs:
    1. Problem - 60 problem codes
    2. Solution - 30 solution codes
    Each catalog has code groups and codes assigned as above.
    In GUI we can address this using the catalogs, code groups and codes under "Analysis" tab at complaint header / item level. However, we want to switch over to categorization schema in CRM 7.0 Webclient UI.
    I tried creating a categorization schema in Web UI. However, if I understand correct, for each of the 90 codes (60 + 30 mentioned above) I need to a add category id under the root schema id and assign a subject code under the general data of the category (while maintaining the category hierarchy). Is this true? I really cannot do it since I have already created the catalogs with the mentioned number of codes under the relevant code groups. Isn't it a duplication of effort? Whats the whole point of creating subject profiles / catalogs / code groups / codes if it has to be redone in webclient's categorization schema? Moreover, every time I add a problem code (say number of codes become 61 from 60), do I need to change the schema and release it again?
    I believe there would be a simpler way to do it.
    My exact requirement is:
    1. I want to use only the first two drop downs of the categorization view in complaints component
    2. First drop down to have all the problem codes (60 of them)
    3. The second drop down to have all solution codes (30 of them).
    Request the gurus to provide the exact steps to achieve this (_details in terms of exact steps will be appreciated and suitably rewarded_). Please note that the customizing in terms subjects, catalogs, code groups, codes etc is already in place.
    Regards,
    DP

    Hello DP,
    we have in sum 4 categorie-fields in the service request.
    And we did it like you explained it. First customizing of code / codegroups, etc.
    Afterwards you have to create the categorization schema in WebUI.
    And yes, everytime we add a code we need to change the categorization schema as well.
    We maintain categorization schema in WebUI only in TCR and we use the RFC-Import for the QCR and PCR system.
    You are right this is a duplication of effort. In our case it is needed because we use the SLA determintation based on catogorization and we have multilevel categories, which means depend from catagory A we have different entries in category B.
    If you just need two dropdown boxes idependently from each other i would suggest to create to customer own fields with z-table behind. That´s much less effort if you often add or delete codes.
    Best regards
    Manfred

  • Images are not reflecting in Multi Level Menu

    Hi,
    i am facing some problem in the Multi Level Menu.
    i have created a book in my portal application.
    For the "Main Page Book" i am setting "Multi Level Menu"
    For the Book with in the menu, i am setting "No Navigation"(to avoid the sub pages displaying when clicking the book)
    for example the Book name is "Home".
    i want to replace the Home with some images.
    using "selected image" i have placed some .gif
    when i have checked at run time that image is not reflected.
    when i keep the menu as "Single level menu" images are coming. (but drop down is not coming)
    the problem is when i put the menu as "multi level menu" the images are not reflected.
    pls help me to solve this issue.
    regards.

    Hi,
    we've got the same issue in the project I'm working on. We told thos to BEA and they said that this is not coded. So 2 BEA's consultants are working on it for us. May be it will be included in the next version of WLP...
    Tom

  • I need help to make this menu?

    This is normal menu, but i have only use Flash for any times,
    i don't know how to make this menu with Action Script in Flash.
    http://i238.photobucket.com/albums/ff189/viczon/Take.jpg
    Please help me! My menu with 2 level, the first cross-bar above
    include Home, Introduce, Products,... and if rovoller on it,
    example as if i rovoller on Product button, will have appear
    products's name below. Thank for help, this menu is more important
    for me to do now, if can please do in Flash and send .fla file for
    me! Thank you..

    Please Help me! I Need it now. Please..

  • I need help fixing an expandable menu

    Hi,
    I'm working on a website that needs to have an expandable menu. I designed it all in Photoshop, and set it up in Dreamweaver so each categorie was image mapped so the subcategories pop up. Here's what it looks like
    http://a.imageshack.us/img85/2239/menuhelp.jpg
    But then I realized that I cant make the subcategories clickable, and I cant even move the mouse over to them without having them dissapear.
    Is there any way to fix this or do I have to start all over?

    Have a look here http://labs.adobe.com/technologies/spry/samples/menubar/AutoWidthVerticalMenuBarSample.htm l or here http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=2141544
    The latter can easily be transformed into a vertical menu.

  • Need help on Aggreation levels

    Hi All,
    I have a situation
    The data in my table is
    Period 1     Period 2     Denominator     Numerator
    201201     201105     0     -50
    201201     201106     0     -63
    201201     201107     0     -74
    201201     201108     0     -56
    201201     201109     0     -23
    201201     201110     0     -79
    201201     201111     0     -104
    201201     201112     0     -98
    201201     201201     22019     18622
    I have two ratios to calculate.
    Ratio One: SUM(Numerator) / Sum(Denominator) = 18075 / 22019 = 82.08%
    Ratio Two: sum(Numerator) / Sum(Denominator) when Period 1 = Period 2 = 18622/22019 = 85.57%
    How can I implement this in the RPD? I have currently defined two metrics as
    To derive Ratio One: I have two metric columns Dn. and Nr. set as aggregate = SUM()
    Ratio 1 = Nr./Dr.
    To derive Ratio Two: I have a case statement that sees if period 1 = period 2 then Nr. else 0
    Ratio 2 = Derived Nr. Dr.
    What is happening is since the ratios are getting calculated at the granular data level, since /0 is not considered. I am ending up both the ratios coming up with the same values.
    What am I doing wrong here. Version 11.1.1.6.2 is used. Any help in aggregate functions, or how to set the levels etc., is appreciated. Thanks.

    First, I made sure the settings on the preamp were right and that phantom
    power was selected for the condenser mic. I also made sure the condenser
    mic battery was good.
    If you have Phantom power you don't need a battery (and vice versa)
    I have it set to the external mic and not the internal one.
    You mean you've selected the interface yes?
    Did you select the interface I GarageBand's input preference?
    --HangTime [Will Compute for Food] B-|>

  • Need help with Drop Down Menu _ URGENT!!

    Hello -
    I'm new to Dreamweaver. I actually have an old version
    (Dreamweaver MX 2004).
    I'm updating a website for work and this needs to be done as
    soon as possible so I'd appreciate if anyone can be so kind as to
    shed light on ANYTHING. =/
    This is what I need:
    I need a drop down menu; when a selection is chosen, I need
    information regarding that selection to appear on the bottom of the
    page. (I am working off an Excel sheet - it has list of service
    descriptions along w/ the unit price, frequency & other fields.
    So If I chose "database hosting" off the drop down list,
    information would be generated (ie. it's corresponding unit price,
    frequencies, etc.)
    I've attached an example of a code but I cannot use that code
    (which has JavaScript) to tweak what I need exactly.
    I am VERY new to this so if anybody can help be out I would
    GREATLY appreciate it.
    Thanks!!

    >I buy all their stuff as it
    > is excellent.
    Double Ditto!
    Walt
    "Paul Gillard" <[email protected]> wrote in
    message
    news:gedcoi$d65$[email protected]..
    > Hi
    > To be honest, the very best thing you can do is to get
    hold of a DW
    > extension
    > from
    http://www.projectseven.com
    and then you will be able to have a
    > completely
    > editable 'easy to implement' drop-down menu system! I
    buy all their stuff
    > as it
    > is excellent.
    >
    > Cheers
    > Paul
    >

  • Need help with folder level javascript to automate "save button" on a fillable form

    I have been racking my brain for the past 6 hours trying to get a simple save button to work.
    Background: I am using Acrobat Pro 11 to create a save button on a fillable form. My intent is for the end users (my team of 3, whos computers I have access to) to be able to fill out the form, click save, and have the filename appended with date and other info and saved to a local folder on their machine.
    I am attempting to take the default form name i.e. Support Call Log.pdf and have three of the feilds within the form generate a new file name. --> Support Call Log_Brad_121_2015
    End users will fill out the form using adobe viwer X.
    Instead of putting the code that I have tried, modified, and tried again and again. I would like to ask for a fresh start and then see if I can locate my error after. I need to know what to put in my folder level script, line for line.
    I also need to know the correct syntax and format to establish a new file name with the extracted feild data, saved to the same exact file path as the original document.
    Any and all help will be greatly appreciated, I am about to go crazy!!!

    Didn't let me do it, invalid. So, here is what I have now changed my button code to:
    //get field value
    var fv1 = getField("Technician:").value;
    var fv2 = getField("Date Received:").value;
    var fv3 = getField("Unit Number:").value;
    // Split Path into an array so it is easy to work with
    var aMyPath = this.path.split("/");
    // Remove old file name
    aMyPath.pop();
    var NewFileName = "Support Call Log" + "_" + fv1 + "_" + fv2 + "_" + fv3 + ".pdf";
    NewFileName = NewFileName.replace(/[\s\!\?\<\>\'\"\*\/\\\=\?\^\`\{\}\|\~]+/g, "_");
    aMyPath.push(NewFileName);
    //save
    mySaveAs(this,aMyPath.join("/"));
    Im still getting the error dialogue box, and nothing shows in my javascript debugger window when I click the button. Seems to be something goofy with my Folder level script:
    var mySaveAs = app.trustedFunction(
         function(oDoc, cPath, cFlName)
              cPath = cPath.replace(/([^/})$/, "$1/");
              try{
                   oDoc.saveas(cPath + cFlName);
                   catch(e){
                                  app.alert("Error During Save");

  • Need help with multi-mapping

    Hello! I need to develop scenario like in blog: /people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
    but I need to have sets of records. For example, I have 9 "Element2" records in original message.
    So, I  need to have 3 messages, each contains 3 records of "Element2".
    How can I do this?

    Change the occurance of target message type to 0..unbounded in Messages Tab in mapping for 1:n mapping.
    Mapping for Piyush_msg_out_3 target node-
    Element2 (source)-> Index(increment 1) -> Divide by Constant (3 in your case) -> Floor -> Split By value(Value chnaged) -> collapse contexts -> Piyush_msg_out_3
    Change the occurance of Element2 node as 1..unbounded in target data type.
    Mapping for Element2-
    Element2 (source)-> Index(increment 1) -> Divide by Constant (3 in your case) -> Floor -> Split By value(Value chnaged)  -> Element2(target)
    Edited by: nagarjuna _s on Nov 5, 2009 7:41 AM

  • Need Help making a navigation menu for a website

    Alright so I've been having some problems getting this to work correctly. I am making a navigation menu for a website and I'm trying to get when I hover over the main header a drop down appears animated of course below it. I also want when you highlight a specific text line for it to highlight blue along with a rectangle behind it to change to a lighter shade of red.
    Some of the problems  I have been running into is play and stop commands on mouseover and them not stopping when they should and getting the text to change color.
    Thanks for the help.
    Here are some screen grabs of what I am doing
    http://imgur.com/W2bZuF3
    http://imgur.com/W2bZuF3
    http://imgur.com/2GI3y71

    Your page's code is still a bit of a wreck.  Do you ever look at it?
    <html>
    <style type="text/css">#p7MBM_1 {
      width: 951px;
    You need a doctype first - I recommend HTML4.01 Transitional.  Open this (and other pages) in DW and use FILE | Convert > HTML 4.01 Transitional, then save.  But wait until you do the other changes recommended below before doing this.
    Add a <head> tag below the <html> tag.
    Add a <title> tag below the <head> tag.
    Add this below the <title> tag - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    Add </head> below this -
    <style type="text/css">
    <!--
    .style10 {font-family: "Goudy Old Style"}
    -->
    </style>
    You may want to change that font-family style to "Goudy Old Style, Geneva, Times, 'Times New Roman', serif", since Goudy is not web safe.
    Move <body> below that </head> you just added.
    That will clean your code up a bit.  Let's look at the page again when you have done these.

  • I need help making a popup menu activate a customized lightbox for a digital magazine/publication.

    I'm not much of a programmer since my experience is in animation, but I need to make a popup window link to/activate a lightbox. I did well just to get the button to make the popup work since I have no programming experience! So now, on to something a little more complex for me! A button is basically supposed to bring up a menu (which I got to work) and the menu is supposed to have links that the user can click on to open up a lightbox similar to the one that opens up on the first click of this example: http://viewer.zmags.com/publication/e9dd9178?viewType=pubPreview#/e9dd9178/1
    These were the instructions I was given, but I'm not sure where to even place this code! Please help!
    For example for Brides/Target this looks like this:
    if (window.location.host.indexOf("brides.com") !== -1) { 
                document.domain = "brides.com";
            $('.productImages1').click(function() {   
                openLightbox("http://www.target.com/p/riedel-vivant-champagne-flutes-set-of-4/-/A-10077709#prodSlot=medi um_1_1&term=200-03-1024?ref=tgt_adv_XC&afid=d_brides&cpng=2013weddingregistry&DFA=1");   
                trackEvent("show", {page: 19, id: 'A-10077709', name: 'riedel-vivant-champagne-flutes-set-of-4'});    //_gaq.push(['_trackEvent', 'Target Advertisment', 'Show', 'Page 19 - item 1']); });

    I was also given this information, but since I can't really read or write code, this means nothing to me. Is this something I can paste in the stages action panel or on the actual buttons that I'm wanting to call up the lightboxes? I like Edge because it seems to be easy and user friendly for creative/non-programmers like myself, but this is getting a bit complex for me. How can I go about this without having to code HTML5 from scratch?
    In the header of the HMTL file, you'll need to add a reference to the Zmags API.
    Example in Header
    <script src="//secure.api.viewer.zmags.com/widgets/iframe.js" type="text/javascript"></script>
    Example with Javascript section:
    <script type="text/javascript">  // Opens the specified url in a lightbox, and applies the supplied css to it, if any; otherwising defaulting to the // standard width and height for the lightbox. To explicitly close the lightbox, call close() on the returned lightbox. function openLightbox(url, css) { return window.parent.parent.com.zmags.ps.widget.openLightbox(url, css || {"width": "100%", "max-width": 1010, "height": 780}); } // Shares the specified url on the given network, with optional title and image. This will automatically trigger // tracking of the shared url, so no need to do so here. function shareUrl(network, url, image, title) { return window.parent.parent.com.zmags.ps.widget.sharing.shareUrl('widget', network, url, title || 'Check out this product from Target', image); } // Tracks the logical action, e.g. "show", "overview" event, with the supplied arguments. The actual event action/label // formatting is handled by the Zavior configuration, and can have values injected, like if "args" = {page: 7, name: 'foo', id: 'bar', item: 1}, // a configured label can utilise these data like "${page}" and "${item}". function trackEvent(action, args) { if (!args) { args = {}; } return window.parent.parent.com.zmags.ps.widget.trackEvent("google_analytics", action, args); } if (window.location.host.indexOf("brides.com") !== -1) { document.domain = "brides.com"; } $('.productImages1').click(function() { openLightbox("http://www.target.com/p/giada-de-laurentiis-for-target-6-qt-cast-iron-dutch-oven/-/A-11992 552#prodSlot=medium_1_1&term=11992552?ref=tgt_adv_XC&afid=d_brides&cpng=2013weddingregistr y&DFA=1"); trackEvent("show", {page: 8, id: 'A-11992552', name: 'giada-de-laurentiis-for-target-6-qt-cast-iron-dutch-oven'}); //_gaq.push(['_trackEvent', 'Target Advertisment', 'Show', 'Page 8 - item 1']); }); $('#activateBtn').click(function() { document.getElementById('activateBtn').style.visibility = 'hidden'; //trackEvent("overview", {page: 8}); $('#big_wrapper').animate({ left: '+=100%' }, 1000, function() { //do nothing }); }); $('#deactivateBtn').click(function() { $('#big_wrapper').animate({ left: '-=100%' }, 1000, function() { document.getElementById('activateBtn').style.visibility = 'visible'; }); }); </script>

  • New logic user, need help with multi-channel inst and aux strips.

    Greetings all,
    So I just purchased a new Mac Pro 2.66 and Logic Pro 7 to run with it. I have been a long time Nuendo/Cubase user on the PC side of things but since I got the Mac I wanted a DAW that was supported fully for the apple platform.
    Anyways, its a world of difference and I am very confused as I wrap my head around the learning curve, so in the meantime I have one important question maybe some one could help me with.
    The question is regarding Aux channel stips for Multi channel instruments. In this scenario I am working with Battery 3, it took me a while to understand that I actually needed to create these aux channels just to have seperate outs in Battery which seems really wierd and overly time consuming.
    As an example in Nuendo once you create the instance of Battery, the audio mixer automatically just creates the corresponding stereo and mono channels instantly. This obviously makes is a sinch to assign Batteries pads to seperate outs for eq/comps for seperate sounds.
    Now the Battery manual doesnt even make a reference to Aux channels for assigning outs in Logic, I actually had to do a Google search to figure this out.
    Anways, sorry for rambling...
    Here is the main issue.... How can I quickly and easily create multiple Aux's? In the mixer there is really only enough room in there to add like 1 more Aux strip, if I want to add more than that I need to re-arrange the entire global mixer which seems like a crazy system, surely there must be a more convenient method for getting muti-channel audio instruments set up quicker.
    Any help you can assist with would be exceptional!
    Thanks in advance.

    Not sure what exactly your question is, especially since I don't use battery. But as far as creating aux tracks:
    • go to the audio layer of the environment (not the track mixer window), find the two defalt aux tracks
    • Highlight all tracks to the right of the aux tracks (these should be bus and output tracks), and drag to the right far enough to fit in a bunch of aux tracks; you might even want to drag the all underneath the aux tracks, if your screen accomodates
    • use the key command shift-command-a multiples times to create several new "audio objects", and double click each one to expand
    • highlight all the new objects and select options/clean up/ align objects (makes it look nicer)
    • still highlighted, over in the parameters section (left side) select a channel, setting it to the highest number aux (at this point, probably "aux 3")
    • now individual set the channel for each aux track – you'll see that now you have available "aux 4"; next time you set a successive track you'll see "aux 5" and so on
    • once you've got things set up the way you want, save it as a template so you don't have to do this again later

  • Need help with recording level!

    Hi,
    I am writing a tune on Garage Band. I have recorded several tracks. A few with hardware, a few with soft synths. I find I cannot adjust the recording level with the slider now (soft synth parts only). It seriously needs to be reduced, otherwise it sounds terrible. The slider simply wont move. Something must be wrong. Any ideas?
    HELP!

    Ratty, at some point you must have set a point on the volume curve by accident, that and/or setting a pan curve point are the only two things that will disable the volume (and pan) controls)
    Good to hear the issue is no longer a problem. Have Fun --Hang B-)>

  • Need help with pop-up menu and applied Rules

    I'm working on a spreadsheet that calculates my profit and losses. I drive a big rig so it needs to keep track of a lot of variables so I know if I'm going to make money on a run or lose money.
    I get fuel discounts of various amounts depending on which vendor I fuel at.
    I went to a section of the sheet and did a pop-up menu that contains the vendor names.
    In the trip section I have cost of fuel per gallon, gallons purchased, total fuel cost, cost minus fuel surcharge.
    What I would like to do is apply a rule to cost per gallon box (H7) that takes a variable from the pop-up menu (B40).
    So if H7 has $2.58 entered as a cost and B40 has pilot selected then $0.050 will automatically be deducted from the $2.58. This way I will have a history of where I fuel, the deduction is made automatically, and I have a history of fuel prices in a certain region.
    If anyone looks at this and sees a simpler way of figuring this calculation please make the suggestion. I want to keep this sheet as small and hassle free as possible.
    I have 3 fuel stops per trip with totals that are connected to other areas. Once I get all of this done I will be adding a chart for easy comparison and long range simple tracking to see where improvements can be made and costs are going.
    Thanks in advance all help will be appreciated.
    Message was edited by: Hwoodwriter for clarification.

    The IF Lookup table worked. Did a little modification by placing the table in another part of the chart then hiding that part.
    I tried doing the discount as a negative but got a negative total which had a negative affect on my total trip income.
    Here is how it works in it's final version.
    Gallons on board minus gallons required for trip.
    Cost per gallon (retail) multiplied by gallons purchased.
    Fuel cost equals (Gallons purchased multiplied by Retail gallon price) minus ("IfLookup" multiplied by Gallons purchased)
    Fuel Cost Minus Fuel Surcharge (the actual price I pay, which includes all my savings) equals (Retail Gallon Cost minus Fuel Surcharge minus "IfLookup") multiplied by Gallons Purchased.
    Some of my trips take up to 3 fuel stops. So this helps me keep track of each fuel stop and all savings per trip.
    I now have where I fueled, the retail price, with discount and surcharge applied. A few keystrokes and I know if a trip is going to be profitable or a loss for me.
    Thank you for the help. I now have what I need at my fingertips to make my job more effective.
    Thanks again.

  • Need Help: JTable POP up menu in a CellEditor to display on a right click

    This was from a previous post:
    I am trying to make a POP menu in a JTextComponent that has a assigned JEditorPane for a HTMLDocument to make use of the HTMLEditorKit to allow modifying HTML by the POP up menu.
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.text.*;
    import javax.swing.table.*;
    import javax.swing.text.html.*;
    import javax.swing.undo.*;
    import javax.swing.border.*;
    import javax.swing.filechooser.*;
    public class SimpleTableDemo extends JFrame {
        public SimpleTableDemo() throws Exception {
            final JTable table = new JTable(new MyTableModel());
            table.setPreferredScrollableViewportSize(new Dimension(500, 70));
            TableColumn fileColumn = table.getColumnModel().getColumn(2);
            FileTableCellEditor editor = new FileTableCellEditor();
            fileColumn.setCellRenderer(editor);
            fileColumn.setCellEditor(editor);
            JScrollPane scrollPane = new JScrollPane(table);
            getContentPane().add(scrollPane, BorderLayout.CENTER);
            addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                System.exit(0);
                table.setRowHeight(100);
            public static void main(String[] args) throws Exception {
                SimpleTableDemo frame = new SimpleTableDemo();
                frame.pack();
                frame.setVisible(true);
            class MyTableModel extends AbstractTableModel {
                String[] columnNames = {"First Name","Last Name","HTML File"};
                public Object[][] data;
                MyTableModel() throws Exception
                    data = createArray();
                private Object[][] createArray() throws Exception
                    Object[][] data = {{"One", "Andrews", createDoc("file1.html")}
                return data;
                private Document createDoc(String url) throws Exception
                    File file = new File(url);
                    URL baseURL = file.toURL();
                    InputStream in = baseURL.openStream();
                    InputStreamReader r = new InputStreamReader(filterTag(in));
                    HTMLEditorKit kit = new HTMLEditorKit();
                Document doc = kit.createDefaultDocument();
                kit.read(r,doc,0);
                return doc;
                } // workaround for HTMLEditorKit.Parser, cant deal with "content-encoding"
                private InputStream filterTag(InputStream in) throws IOException {
                    DataInputStream dins = new DataInputStream( in);
                    ByteArrayOutputStream bos = new ByteArrayOutputStream(10000);
                    DataInputStream din = new DataInputStream(new BufferedInputStream(in));
                    while (din.available() > 0) {
                    String line = din.readLine();
                    String lline = line.toLowerCase();
                    if (0 <= lline.indexOf("<meta ")) // skip meta tags
                    continue;
                    bos.write( line.getBytes());
                    din.close();
                    return new ByteArrayInputStream( bos.toByteArray());
                public int getColumnCount() {
                    return columnNames.length;
                public int getRowCount() {
                    return data.length;
                public String getColumnName(int col) {
                    return columnNames[col];
                public Object getValueAt(int row, int col) {
                    return data[row][col];
                public Class getColumnClass(int c) {
                    return getValueAt(0, c).getClass();
                public boolean isCellEditable(int row, int col) {
                if (col >< 1) {
                    return false;
                } else {
                    return true;
    public class FileTableCellEditor extends JScrollPane implements TableCellEditor , TableCellRenderer
        public JTextComponent jtext;
        JEditorPane editor;
        HTMLEditorKit kit = new HTMLEditorKit();
        HTMLDocument doc = new HTMLDocument();;
        private EventListenerList listenerList = new EventListenerList();
        private ChangeEvent event = new ChangeEvent(this);
        public FileTableCellEditor()
        editor = new JEditorPane();
        editor.setContentType("text/html");
        doc=new HTMLDocument();
        editor.addMouseListener(new MouseHandler());
        editor.setEditorKit(kit);
        editor.setDocument(doc);
        editor.setEditable(true);
        editor.setCaretColor(Color.RED);
        getViewport().setView(editor);
        setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        public Component getTableCellRendererComponent(JTable table, Object value,
        boolean isSelected, boolean hasFocus, int row, int column)
            // System.out.println("has focus: "+hasFocus+", isSelected: "+isSelected);
            if (isSelected)
            table.editCellAt(row,column);
        table.editCellAt(row,column);
        return getTableCellEditorComponent(table,value,isSelected, row, column);
        public Component getTableCellEditorComponent(JTable table,
        Object value, boolean isSelected, int row, int column)
        editor.setDocument((Document)value);
        return this;
        public boolean isCellEditable(EventObject anEvent)
        { return true;
        public boolean shouldSelectCell(EventObject anEvent)
        { return true;
        public void cancelCellEditing()
        { fireEditingStopped();
        public boolean stopCellEditing()
        { return true;
        public Object getCellEditorValue()
        { return null;
        public void addCellEditorListener(CellEditorListener l)
        { listenerList.add(CellEditorListener.class, l);
        public void removeCellEditorListener(CellEditorListener l)
        { listenerList.remove(CellEditorListener.class, l);
        protected void fireEditingStopped()
        { Object[] listeners = listenerList.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2)
        ((CellEditorListener)listeners[i+1]).
        editingStopped(event);
        protected void fireEditingCanceled()
        { Object[] listeners = listenerList.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2)
        ((CellEditorListener)listeners[i+1]).
        editingCanceled(event);
            ///////////createPopupMenu///////////////
            protected JPopupMenu createPopupMenu()
            JPopupMenu popup =new JPopupMenu();
            popup.add(getTextComponent().getActionMap().get(HTMLEditorKit.cutAction)).setAccelerator(null);
            popup.add(getTextComponent().getActionMap().get(HTMLEditorKit.copyAction)).setAccelerator(null);
            popup.add(getTextComponent().getActionMap().get(HTMLEditorKit.pasteAction)).setAccelerator(null);
            popup.addSeparator();
            popup.add(getTextComponent().getActionMap().get("font-bold"));
            popup.add(getTextComponent().getActionMap().get("font-italic"));
            popup.add(getTextComponent().getActionMap().get("font-underline"));
            //popup.add(getTextComponent().getActionMap().get("break"));
            return popup;
        public JTextComponent getTextComponent()
             return jtext;
        protected class MouseHandler extends MouseAdapter{
           public void mouseReleased(MouseEvent me){
               if(me.getButton()==MouseEvent.BUTTON3){
               Point p=me.getPoint();
               createPopupMenu().show((Component)me.getSource(),p.x,p.y);
    }

    I got the pop up to work, I had to go back to and add a createActionTable editor that is a JEditorPane, vs the JTextComponent!
    Here is the latest version:
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.util.HashMap;
    import javax.swing.*;
    import javax.swing.undo.*;
    import javax.swing.event.*;
    import javax.swing.text.*;
    import javax.swing.table.*;
    import javax.swing.text.html.*;
    import javax.swing.undo.*;
    import javax.swing.border.*;
    import javax.swing.filechooser.*;
    public class SimpleTableDemo extends JFrame {
        public SimpleTableDemo() throws Exception {
            final JTable table = new JTable(new MyTableModel());
            table.setPreferredScrollableViewportSize(new Dimension(500, 70));
            TableColumn fileColumn = table.getColumnModel().getColumn(2);
            FileTableCellEditor editor = new FileTableCellEditor();
            fileColumn.setCellRenderer(editor);
            fileColumn.setCellEditor(editor);
            JScrollPane scrollPane = new JScrollPane(table);
            getContentPane().add(scrollPane, BorderLayout.CENTER);
            addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                System.exit(0);
                table.setRowHeight(100);
            public static void main(String[] args) throws Exception {
                SimpleTableDemo frame = new SimpleTableDemo();
                frame.pack();
                frame.setVisible(true);
            class MyTableModel extends AbstractTableModel {
                String[] columnNames = {"First Name","Last Name","HTML File"};
                public Object[][] data;
                MyTableModel() throws Exception
                    data = createArray();
                private Object[][] createArray() throws Exception
                    Object[][] data = {{"One", "Andrews", createDoc("file1.html")}
                return data;
                private Document createDoc(String url) throws Exception
                    File file = new File(url);
                    URL baseURL = file.toURL();
                    InputStream in = baseURL.openStream();
                    InputStreamReader r = new InputStreamReader(filterTag(in));
                    HTMLEditorKit kit = new HTMLEditorKit();
                Document doc = kit.createDefaultDocument();
                kit.read(r,doc,0);
                return doc;
                } // workaround for HTMLEditorKit.Parser, cant deal with "content-encoding"
                private InputStream filterTag(InputStream in) throws IOException {
                    DataInputStream dins = new DataInputStream( in);
                    ByteArrayOutputStream bos = new ByteArrayOutputStream(10000);
                    DataInputStream din = new DataInputStream(new BufferedInputStream(in));
                    while (din.available() > 0) {
                    String line = din.readLine();
                    String lline = line.toLowerCase();
                    if (0 <= lline.indexOf("<meta ")) // skip meta tags
                    continue;
                    bos.write( line.getBytes());
                    din.close();
                    return new ByteArrayInputStream( bos.toByteArray());
                public int getColumnCount() {
                    return columnNames.length;
                public int getRowCount() {
                    return data.length;
                public String getColumnName(int col) {
                    return columnNames[col];
                public Object getValueAt(int row, int col) {
                    return data[row][col];
                public Class getColumnClass(int c) {
                    return getValueAt(0, c).getClass();
                public boolean isCellEditable(int row, int col) {
                if (col < 1) {
                    return false;
                } else {
                    return true;
    public class FileTableCellEditor extends JScrollPane implements TableCellEditor , TableCellRenderer
        JEditorPane editor = new JEditorPane();
        HTMLEditorKit kit = new HTMLEditorKit();
        HTMLDocument doc = new HTMLDocument();;
        private EventListenerList listenerList = new EventListenerList();
        private ChangeEvent event = new ChangeEvent(this);
        HashMap<Object, Action> actions;
        public FileTableCellEditor()
        getContentPane();
        editor.setContentType("text/html");
        doc=new HTMLDocument();
        editor.addMouseListener(new MouseHandler());
        editor.setEditorKit(kit);
        editor.setDocument(doc);
        editor.setEditable(true);
        editor.setCaretColor(Color.RED);
        getViewport().setView(editor);
        createActionTable(editor);
        makeActionsPretty();
        setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        public void makeActionsPretty(){
             Action a;
                      a=editor.getActionMap().get(HTMLEditorKit.cutAction);
                      a.putValue(Action.SHORT_DESCRIPTION,"Cut");
                      a.putValue(Action.ACCELERATOR_KEY,KeyStroke.getKeyStroke('X',Event.CTRL_MASK));
                      a=editor.getActionMap().get(HTMLEditorKit.copyAction);
                      a.putValue(Action.NAME,"Copy");
                      a.putValue(Action.SHORT_DESCRIPTION,"Copy");
                      a.putValue(Action.ACCELERATOR_KEY,KeyStroke.getKeyStroke('C',Event.CTRL_MASK));
                      a=editor.getActionMap().get(HTMLEditorKit.pasteAction);
                      a.putValue(Action.NAME,"Paste");
                      a.putValue(Action.SHORT_DESCRIPTION,"Paste");
                      a.putValue(Action.ACCELERATOR_KEY,KeyStroke.getKeyStroke('V',Event.CTRL_MASK));
        public Component getTableCellRendererComponent(JTable table, Object value,
        boolean isSelected, boolean hasFocus, int row, int column)
            if (isSelected)
            table.editCellAt(row,column);
        table.editCellAt(row,column);
        return getTableCellEditorComponent(table,value,isSelected, row, column);
        public Component getTableCellEditorComponent(JTable table,
        Object value, boolean isSelected, int row, int column)
        editor.setDocument((Document)value);
        return this;
        public boolean isCellEditable(EventObject anEvent)
        { return true;
        public boolean shouldSelectCell(EventObject anEvent)
        { return true;
        public void cancelCellEditing()
        { fireEditingStopped();
        public boolean stopCellEditing()
        { return true;
        public Object getCellEditorValue()
        { return null;
        public void addCellEditorListener(CellEditorListener l)
        { listenerList.add(CellEditorListener.class, l);
        public void removeCellEditorListener(CellEditorListener l)
        { listenerList.remove(CellEditorListener.class, l);
        protected void fireEditingStopped()
        { Object[] listeners = listenerList.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2)
        ((CellEditorListener)listeners[i+1]).
        editingStopped(event);
        protected JPopupMenu createPopupMenu()
            JPopupMenu popup =new JPopupMenu();
            popup.add(getActionByName(DefaultEditorKit.cutAction));
            return popup;
        protected class MouseHandler extends MouseAdapter{
           public void mouseReleased(MouseEvent me){
               if(me.getButton()==MouseEvent.BUTTON3){
               Point p=me.getPoint();
               createPopupMenu().show((Component)me.getSource(),p.x,p.y);
        private void createActionTable(JTextComponent textComponent) {
            actions = new HashMap<Object, Action>();
            Action[] actionsArray = textComponent.getActions();
            for (int i = 0; i < actionsArray.length; i++) {
                Action a = actionsArray;
    actions.put(a.getValue(Action.NAME), a);
    private Action getActionByName(String name) {
    return actions.get(name);

Maybe you are looking for