JComboBox custom editor and model

I'd like to implement a custom JComboBox that uses application's arbitrary text field as its editor. Below is a first trial but it is dead on birth. Specifically, two action listeners for the text field do not work let alone do accumulating edited items on the combo box. What could be my foolish errors?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import javax.swing.plaf.metal.MetalComboBoxEditor;
public class EditableComboBox extends JComboBox{
  Vector<String> items;
  CustomComboBoxModel model;
  JTextField tfield;
  CustomComboBoxEditor editor;
  public EditableComboBox(Vector<String> vec, JTextField tf){
    items = vec;
    model = new CustomComboBoxModel(items);
    setModel(model);
    tfield = tf;
    editor = new CustomComboBoxEditor(tfield);
    setEditor(editor);
    setEditable(true);
    tfield.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        handleEditedItem();
  void handleEditedItem(){
    String s = tfield.getText();
    if (s.length() > 0 && ! model.hasElement(s)){
      model.addElement(s); // add new element
  class CustomComboBoxModel extends DefaultComboBoxModel{
    public CustomComboBoxModel(Vector<String> vec){
      super(vec);
    // like to add it to head, not to tail
    public void addElement(Object o){
      insertElementAt(o, 0);
    public boolean hasElement(Object o){
      int size = getSize();
      int idx = getIndexOf(o);
      return (idx > -1 && idx < size);
  class CustomComboBoxEditor extends MetalComboBoxEditor{
    JTextField tfield;
    public CustomComboBoxEditor(JTextField t){
      tfield = t;
    public JTextField createEditorComponent(){
      return tfield;
  public static void main(String[] args){
    final JTextField jtf = new JTextField(80);
    Vector<String> vs = new Vector<String>();
    EditableComboBox ecb = new EditableComboBox(vs, jtf);
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(ecb, BorderLayout.NORTH);
    jtf.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        System.out.println(jtf.getText());
    frame.pack();
    frame.setVisible(true);
}Edited by: hiwa on Sep 28, 2007 3:08 PM

This is the final or provisional production version based on Michael's first solution. I find the class is much more useful when the handleEditedItem() method can be called from the application because the application can control the behavior.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class JTextFieldWithMemory extends JComboBox{
  Vector<String> items;
  CustomComboBoxModel model;
  JTextField tfield;
  int columns;
  /* constructor for a special usage, this obj calls handleEditedElement() */
  public JTextFieldWithMemory(Vector<String> vec, int cs, boolean handleEdit){
    items = vec;
    columns = cs;
    model = new CustomComboBoxModel(items);
    setModel(model);
    setEditable(true);
    tfield = (JTextField)getEditor().getEditorComponent();
    if (cs > 0){
      tfield.setColumns(columns);
    if (handleEdit){ // automatic self accumulation
      tfield.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
          handleEditedItem();
  /* ordinary usage constructor, application calls handleEditedElement() */
  public JTextFieldWithMemory(Vector<String> vec, int cs){
    this(vec, cs, false);
  public JTextFieldWithMemory(Vector<String> vec){
    this(vec, 0);
  public JTextFieldWithMemory(){
    this(new Vector<String>(), 0);
  public JTextField getTextField(){
    return tfield;
  public String getText(){
    return tfield.getText();
  public void setText(String t){
    tfield.setText(t);
    handleEditedItem();
  public Vector<String> getItems(){
    return items;
  public void addActionListenerTf(ActionListener al){
    tfield.addActionListener(al);
  public void handleEditedItem(){
    String s = tfield.getText();
    if (s.length() > 0 && ! model.hasElement(s)){
      model.addElement(s); // add new element
    tfield.setText(s); // prevent blanking out
  class CustomComboBoxModel extends DefaultComboBoxModel{
    public CustomComboBoxModel(Vector<String> vec){
      super(vec);
    // like to add it to head, not to tail
    public void addElement(Object o){
      insertElementAt(o, 0);
    public boolean hasElement(Object o){
      int size = getSize();
      int idx = getIndexOf(o);
      return (idx > -1 && idx < size);
  /* main() for test */
  static JTextField jtf;
  static JTextFieldWithMemory tm;
  public static void main(String[] args){
    Vector<String> vs = new Vector<String>();
    tm = new JTextFieldWithMemory(vs, 30);
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(tm, BorderLayout.NORTH);
    jtf = (JTextField)tm.getEditor().getEditorComponent();
    jtf.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        tm.handleEditedItem(); // called from app
        System.out.println(jtf.getText());
    frame.pack();
    frame.setVisible(true);
}

Similar Messages

  • JTree selection problem when using custom renderer and editor

    Hello:
    I created a JTree with custom renderer and editor.
    The customization makes JCheckBox to be the component
    responsible for editing and rendering.
    The problem is that when I click on the node with the checkbox
    the JTree selection model does not get updated.
    Without customizations of the editor and renderer the MouseEvent would be fired and BasicTreeUI$MouseHandler.mousePressed() method would call
    the selectPathForEvent() method which would be responsible for updating
    the selection model. At the same time if I attach a mouse listener to the JTree (customized) I see the events when clicking on the nodes. It seems like the MouseEvent gets lost and somehow as a result of which the selection model does not get updated.
    Am I missing something?
    Thanks
    Alexander

    You probably forgot to call super.getTreeCellRendererComponent(...) at the beginning of your getTreeCellRendererComponent(...) method in your custom renderer.
    Or maybe in the getTreeCellEditorComponent(...) of the TreeCellEditor...

  • Custom colors and fonts in in-context editor?

    I have added some custom colors and font families in our partner portal > online editor settings for a client site. When editing a page or web app item in the Manage tab of the admin console, I can see these colors and fonts in the editor. However, when going to the Edit tab (in context editing), and clicking on a block with ice:editable='html' I only see the standard fonts and colors.
    Does anyone know if this is a known issue? Or is there some workaround to get the custom colors and fonts into the in context editor?

    It's all type, and afew 3D shapes I created, but I noticed when they were printed out by the printer at work, everything was quite fuzzy. However this occured when I saw that 24 MB was way too much to e-mail through my works server. So at that point I decided to make everything into a .gif and place them into Indesign and PDF them, by doing that i completey reduced the quality and the size, so after it printed it was very pixailized on the edges, and the colors were a few tones off....
    I guess I just want to have the best of both worlds a small pdf and good quality...

  • JCheckBox as nodes in JTree having problems with custom renderer and editor

    Ok, let me give some background. I have an XML document that I am parsing and reading in as a JTree. Works fine.
    Next, I have overwritten the DefaultTreeCellEditor to return a JCheckBox and in this implementation of the getTreeCellEditorComponent(), I actually tell the node that he is selected. Works great.
    Next, I have overwritten the DefaultTreeCellRenderer to return a JCheckBox and in the implementation of the getTreeCellEditorComponenet, I actually check to see if the Node is selected in the tree based upon the isSelected state of the actual Tree Node set in the tree cell editor, and if so, I set the JCheckBox to selected(true).Works Great.
    Now, here is the issue. If a node in the tree is selected that contains children, then I want all of the children of that node to also be selected. However, when I select a node with children only the selected node is changed, and then a few moments later, the system repaints the entire tree and ALL nodes int the tree are set to a selected state. Strange? Yes. Any ideas?? WONDERFUL!! :)
    Here is the TreeCellEditor code:
    public Component getTreeCellEditorComponent(JTree tree,
    Object value,
    boolean isSelected,
    boolean expanded,
    boolean leaf,
    int row)
    elementCheckBox_ = new JCheckBox();
    Component result = null;
    System.out.println("isSelected? Editor = " + isSelected);
    TreePath newPath = tree.getPathForRow(row);
    System.out.println("value = " + value.getClass().toString());
    if(value instanceof IMarketTreeNodeElement)
    if(isSelected)
    if(((IMarketTreeNodeElement)value).isSelected())
    ((IMarketTreeNodeElement)value).setSelected(false);
    else
    ((IMarketTreeNodeElement)value).setSelected(true);
    elementCheckBox_.setSelected(isSelected);
    return elementCheckBox_;
    Here is the TreeCellRenderer code:
    public Component getTreeCellRendererComponent(JTree tree,
    Object value,
    boolean selected,
    boolean expanded,
    boolean leaf,
    int row,
    boolean hasFocus)
    Color colSelBorderCol = UIManager.getColor
    ("Tree.selectionBorderColor");
    selBorder_ = BorderFactory.createLineBorder(colSelBorderCol, 1);
    normBorder_ = BorderFactory.createEmptyBorder(1,1,1,1);
    elementCheckBox_.setText(value.toString());
    if(selected)
    elementCheckBox_.setSelected(selected);
    elementCheckBox_.setForeground(Color.YELLOW);
    elementCheckBox_.setBackground(Color.RED);
    else
    elementCheckBox_.setForeground(tree.getForeground());
    elementCheckBox_.setBackground(tree.getBackground());
    if (hasFocus)
    elementCheckBox_.setBorder(selBorder_);
    else
    elementCheckBox_.setBorder(normBorder_);
    return elementCheckBox_;
    Here is the Node Code setting all child nodes to selected:
    public void setSelected(boolean selected)
    isSelected_ = selected;
    if(isSelected_)
    if((this.getTagName() == "MARKET") ||
    (this.getTagName() == "TIER") &&
    (this.getChildCount() != 0))
    selectChildren(true);
    else
    if((this.getTagName() == "MARKET") ||
    (this.getTagName() == "TIER") &&
    (this.getChildCount() != 0))
    selectChildren(false);
    public boolean isSelected()
    return isSelected_;
    public void selectChildren(boolean selected)
    int children = getChildCount();
    for(int i = 0; i < children; i++)
    IMarketTreeNodeElement elem = (IMarketTreeNodeElement)
    this.getChildNodes().item(i);
    isSelected_ = selected;
    Thanks for any help! :-)

    I tried to run your sample code and it won't compile. The header files:
    #include
    #include
    #include
    #include
    #include
    do not exist on my install of MeasurementStudio. I am a bit suspicous that I don't have the latest and greatest (loading the dialong resouce gave version warnings). Here is one of my header file headers:
    //==============================================================================
    // Title : NiAxes3d.h
    // Copyright : National Instruments 1999. All Rights Reserved.
    // Purpose : Defines the CNiAxes3D class.
    //==============================================================================
    I
    looked on your updates site and don't really see an update that applies to ComponentWorks or MeasurementStudio. My version per the MAX program for 3DControls is 3.5.549.
    Do I need a newer version? What do I have to do to get the updated version? What does it cost?
    Chuck

  • Problem in JTable with a JComboBox cell editor

    Hi gurus,
    Please help! I am having a problem with a JTable that has a JComboBox cell editor. When the table is first loaded, the combo box column displays correct data. But whenever I click the combo box, the selection will be set to the first item in the combo box list once the popup menu pops up even before I make any new selection. It is very annoying.
    Here is how I set the cell editor:
    populateComboBoxModel(); // populate the combo box model.
    DefaultCellEditor cell_editor = new DefaultCellEditor(new JComboBox(
    combo_model));
    contrib_table.getColumnModel().getColumn(1).setCellEditor(
    cell_editor);
    I didn't set the cell renderer so I assume it is using the default cell renderer.
    Thanks !

    Not quite. The example doesn't have a different cell editor for each row of the table. I'm sure I must be missing something, bc I've found many references to the fact that this is possible to do. And I have most of it working. However, when I click on any given combobox, it automatically switches to the first value in the list, not the selected item. I've tried setting the selected item all over the code, but it has no effect on this behavior. Also, it only happens the first time I select a given cell. For example, suppose the first row has items A, B, and C, with B being the selected value. The table initially displays with B in this cell, but when I click on B, it switches to A when it brings up the list. If I select B, and move on to some other cell, and then go back and click on B again, it doesn't switch to A.
    There seems to be a disconnect between the values that I display initially, and the values that I set as selected in the comboboxes. Either that, or it behaves as though I never set the selected item for the combobox at all.
    Any help would be greatly appreciated.

  • Editable JCombobox cell editor length limit

    Hi All,
    I have an editable JCombobox as a celleditor to one of the column in JTable, How do I limit the characters in the cell editor?
    Thanks

    A JComboBox uses a JTextField as it's cell editor. You should read up on how you would do this for a normal JTextField by using a custom Document:
    http://java.sun.com/docs/books/tutorial/uiswing/components/generaltext.html
    Here's an example using JComboBox. I haven't tried it in a JTable but I assume it should work.
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.text.*;
    import javax.swing.plaf.basic.*;
    public class ComboBoxNumericEditor extends BasicComboBoxEditor
         public ComboBoxNumericEditor(JComboBox box)
              editor.setDocument( new NumericListDocument(box.getModel()) );
         public static void main(String[] args)
              String[] items = { "one", "two", "three", "four" };
              JComboBox list = new JComboBox( items );
              list.setEditable( true );
              list.setEditor( new ComboBoxNumericEditor( list ) );
              JFrame frame = new JFrame();
              frame.getContentPane().add( list );
              frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
              frame.pack();
              frame.setLocationRelativeTo( null );
              frame.setVisible( true );
         class NumericListDocument extends PlainDocument
              ListModel model;
              public NumericListDocument(ListModel model)
                   this.model = model;
              public void insertString(int offset, String text, AttributeSet a)
                   throws BadLocationException
                   //  Accept all entries in the ListModel
                   for (int i = 0; i < model.getSize(); i++)
                        Object item = model.getElementAt(i);
                        if (text.equals( item.toString() ))
                             super.insertString(offset, text, a);
                             return;
                   //  Build the new text string assuming the insert is successfull
                   String oldText = getText(0, getLength());
                   String newText =
                        oldText.substring(0, offset) + text + oldText.substring(offset);
                   //  Edit the length of the new string
                   if (newText.length() > 2)
                        Toolkit.getDefaultToolkit().beep();
                        return;
                   //  Only numeric characters are allowed in the new string
                   //  (appending the "0" will allow an empty string to be valid)
                   try
                        Integer.parseInt(newText + "0");
                        super.insertString(offset, text, a);
                   catch (NumberFormatException e)
                        Toolkit.getDefaultToolkit().beep();
    }

  • How to get inputted value in a RTE field on custom page and submit by REST call in 'Sharepoint hosted app'.

    Hi I am facing the three questions below.
    1. How to use default RTE in custom page in Sharepoint hosted app.
     I saw the article of Rich text Editor (ribbon based) in a webpart in SharePoint 2013 and tried it. But it did not work well. I guess it needs code-behind setting, however sharepoint hosted app does not support code-behind.
    Does anybody know how to do this?
    2. In above case, I placed the below code on custom page and tried to get the field's value when submit button was clicked.
    <SharePoint:InputFormTextBox ID="rftDefaultValue"
    RichText="true"
    RichTextMode="FullHtml" runat="server"
    TextMode="MultiLine" Rows="5">
    </SharePoint:InputFormTextBox>
    In debugger, the returned value was 'undefined'.
    var note = $('#hogehoge').val();
    Is it possible to get the RTE value? If yes, please let me know how to do this.
    3. I need to submit the RTE value using REST call.
    In this
    article in MSDN, the item creation sample treats single line text field. Does anybody know the sample for RTE?

    Hi,
    According to your description, you might want to use Rich Text Editor control in your SharePoint hosted app.
    First of all, I would suggest you post one question in one thread to make it easier to be discussed, which would also help you get a quick solution.
    Though we can add this control into a SharePoint hosted app, however, as we can’t add code behind for it, plus with the potential compatibility issues in different
    browsers, I would suggest you use other JavaScript Rich Text Editor plugins instead.
    Two JavaScript Rich Text Editor plugins for your reference:
    http://quilljs.com/
    http://nicedit.com/
    If you want to submit the value of Rich Text Editor control to a SharePoint list using REST call, since the content in the Multiple Line of Text column is wrapped
    with nested HTML tags, the similar requirement would also be applied to the content to be submitted.
    Here is a code snippet about how to update a Multiple Line of Text column for your reference:
    updateListItem(_spPageContextInfo.webAbsoluteUrl, "List018", 1);
    function updateListItem(siteUrl, listName, itemId)
    var itemType = GetItemTypeForListName(listName);
    var item = {
    "__metadata": { "type": itemType },
    "MultiTextEnhanced": "<div><a href='http://bing.com/'>Bing</a><br></p></div>",
    "Title": "123"
    $.ajax({
    url: siteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items(" + itemId + ")",
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    success: function (data) {
    console.log(data);
    $.ajax({
    url: data.d.__metadata.uri,
    type: "POST",
    contentType: "application/json;odata=verbose",
    data: JSON.stringify(item),
    headers: {
    "Accept": "application/json;odata=verbose",
    "X-RequestDigest": $("#__REQUESTDIGEST").val(),
    "X-HTTP-Method": "MERGE",
    "If-Match": data.d.__metadata.etag
    success: function (data) {
    console.log(data);
    error: function (data) {
    console.log(data);
    error: function (data) {
    console.log(data);
    // Getting the item type for the list
    function GetItemTypeForListName(name)
    return"SP.Data." + name.charAt(0).toUpperCase() + name.slice(1) + "ListItem";
    Thanks
    Patrick Liang
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support,
    contact [email protected]
    Patrick Liang
    TechNet Community Support

  • Is it OK to re-use 1 instance of editors and renderers?

    Hi,
    The simple version of the question, is can I make 1 instance of my custom cell editor and cell renderer classes and safely use it in all my JTable instances?
    For example, I have a DateRenderer class, and instantiate it in a static member, and use it in all Date columns and tables, many of which will be instatiated at one time. If a column needs a non-default format, then I guess I'd create a special instance for it, other wise it would use the default instance.
    It seems to be OK so far, but but my program hasn't received any serious usage yet.
    As to why, I'm thinking this way, I've been messing around with CellEditors and renderers and despite wanting to use default functionality whenver possible, I find that I'm using custom versions for every situation... so if possible, I'd like to keep the number of instances to a minimum.
    Regards
    Iain

    OK, I see what you mean.
    Stop cell editing on focus lost isn't the default behaviour, but I've had to use it anyway (it seems to make sense).
    The reason I asked is that, to get the behaviour that I want, it looks like I'll have to have my custom renderers and editors on every column of every table so I'd like to avoid unneccessary instantiation.
    I'm aiming for a system where:
    - 1 click selects the row (default behaviour),
    - 2 clicks starts editing the cell (also default),
    - but tabbing or pressing enter after editing a cell keeps you in editing mode.
    I don't suppose that many people here have had experience with this, but entering Japanese (and presumably other non ascii type character sets) using MS's IME doesn't work very well with the standard JTable behaviour. If you don't double click, the entered japanese text appears in a little IME window somewhere on the screen (no neccessarily near the editing cell) and just gets lost when you press enter. You have to double click every time, and I can't see the users accepting that.
    I'll be investigating this over tme, and hopefully will be able to get it working smoothly.
    Thanks,
    Iain

  • I imported a video I make in another program and I played it back in the video editor and I like the pan and zoom that was added by the program how do I save a copy with the effect of Premiere elements 12

    I imported a video I make in movie maker program and I played it back in the premiere video editor and I like the pan and zoom that was added by the program how do I save a copy with the effect of Premiere elements 12
    all I did was played it back how do I save that and make a new version of the video beacause when I save a copy the effect look I was trying to save was not there.
    Rodney
    [personal information removed... Mod - https://forums.adobe.com/docs/DOC-3731]
    [This is an open forum, not Adobe support, please do not post personal information]
    [If you are posting using email, please turn your 'sig file' function OFF for posting]

    silkman1
    I would be glad for the opportunity to customize a Premiere Elements 12 answer to your Premiere Elements 12 issue.
    But, I want to make sure that we are together on the details. This is my understanding of what you have written. Please review and let me
    know if I am misinterpreting anything that you have written.
    You have a video created in Windows Movie Maker.
    How did you output the video from Windows Movie Maker...wmv or mp4, what was the frame size and frame rate of that export?
    Next you import that video into Premiere Elements 12 (can we assume that this is on Windows 7, 8, or 8.1 64 bit?)
    From what you wrote, you have applied a pan and zoom effect to your video in Premiere Elements.
    Now you go to export the Premiere Elements 12 Timeline content with your video with the pan and zoom applied.
    But, the pan and zoom effect is not seen in playback of the export.
    Is all of the above correct so far?
    If so....we are going to need some more details from you...
    a. What is the project preset that you or the project are setting to match the properties of the video coming from Movie maker? See Edit Menu/Project Settings/General and the readings for Editing Mode, Timebase, Frame Rate, and Pixel Aspect Ratio even if the fields look grayed out.
    b. Are you applying the pan and zoom effect with the Pan and Zoom Tool, fx Effects Presets, or keyframing the Scale (for Zoom) and
    Position (for Pan) in the Motion Panel expanded?
    c. What are you selecting as your export in Publish+Share/. Please give details...are you using default settings or customizing the export
    setting under the Advanced Button/Video Tab and Audio Tab of the preset selected?
    I am suspecting some sort of mismatch of your project settings or some problems with working with the Pan and Zoom tool. I need
    your answers to help me help you. If I have written anything that you do not understand, please let me know. I will re-write if necessary
    so that we are in sync to resolve the issue.
    Thanks.
    ATR

  • Unable to create Instance with Object Editor and Attachment Pattern

    Hi Experts,
    I created a simple entity service with some attributes and a document reference.
    I also configured an object editor pattern and assigned a attachment pattern. The created object editor works as long as I don't attach a file. But if I attach a file and want to save it I get an error message "cannot create"
    In the default log.trc I have some entries
    Cannot read associated instance with MOF ID 105D8E0C4F02D45AFFD5B9D6A09EFB7A of MOF Layer 2 for (6DC24B80F6004CDBF4FA6C560AEDD33C,<null>)
    and
    refPackageM1(com.sap.ip.bi.sdk.dac.olap.query) failed RepositoryDBMemory. Using generic one.
    I configured the j2ee engine according the tutorial "Integrating KM with CAF UI Patterns"
    So what is wrong?
    Best regards Manuel

    Hi,
    From the stacktrace I assume that the following happens (please correct me, if I'm wrong):
    <b>*</b> Some time based event mechanism sends an event to your custom event handler code. That code is execute in some system context.
    <b>*</b> Your handler uses the RF API to create a collection. All this is perfectly OK. Here my assumptions end, the next steps are solid facts.
    <b>*</b> Within the RF all property filters are informed that a resource is about to be created. One of the filters is trying to obtain a lock from a system provided Locking Service.
    <b>*</b> That service refuses to grant the lock, telling that system users are not allowed to do so.
    Most proably you cannot do anything to solve this problem by yourself. When I ran into the same Exception once, I could avoid to have my code run in a system thread. Well you might try to do the same.
    Otherwise please open a customer message and complain about the restiction in the locking behaviour.
    Best regards,
    Michael

  • JDev Extensions: Register only a particular XML file with custom Editor?

    Hi Guys,
    I have extended the Editor class and created my own Editor - MyCustomEditor. Below is the part of 'extension.xml', where I am registering any XML document with this editor.
    <editors xmlns="http://xmlns.oracle.com/ide/extension">
    <!-- Register our custom editor -->
    <editor id="myCustomEditor.design"
    label="My Design"
    editor-class="oracle.xxx.xxx.MyCustomEditor" >
    <node-type class="oracle.bali.xml.addin.XMLSourceNode" />
    </editor>
    </editors>
    But my actual requirement is to register my custom (design) editor to a particular XML file which has a fixed name, lets say MyApplicationFile.xml. I don't want this Custom Editor for any other XML document. How can I achieve this?
    Thanks,
    Rajesh.

    No JDev version??
    Here is what you can try.
    1. Subclass XMLSourceNode to CustomXMLSourceNode. Mention this class in editor tag.
    2. In addition to <editor> you may need to have <xml-recognizer> along with <include-filenames>MyApplicationFile.xml</include-filenames>.

  • Custom Reports Data Model - can't report on custom dictionaries

    Custom Reports Data Model - can't report on custom dictionaries
    In QA and Prod I see custom dictionaries in the Custom Reports Data Model, in Test there are none.
    Dictionaries and Sevices marked Reportable are not showing up under Dictionaries and Services Dimensions.
    I rerun the ETL and the scheduled tasks, but no luck. any suggestions?

    Do you see any error when you run the ETL, i.e. the Java ETL embedded with the app server? 

  • JComboBox Cell Editor in JTable

    I've scouered the forums for an answer to my question, and while
    finding other valuable advice, I have yet to find an answer to my
    question. But first, a little description:
    I have a JTable consisting of 5 columns:
    col1= standard Object cell editor
    col2= JComboBox cell editor
    col3= JComboBox cell editor, values dependent on col2
    col4= JComboBox cell editor, values dependent on col3
    col5= JComboBox cell editor, values dependent on col4
    Data structure looks like this:
    col1= company object, containing vector of values for col2
    col2= lease object, containing vector of values for col3
    col3= well object, containing vector of values for col4
    col4= pump object, containing vector of values for col5
    col5= simply displayed.
    I have a JButton that adds a new row to the table via dialog, then menu
    options to add entries to the comboboxes/vectors. The kicker here is
    that everything is fine up until I've added a pump, and click the cell
    to view the entry. In my cellEditor class, I have a 'getSelected()'
    method that returns 'combobox.getSelectedIndex()'. When 'edittingStopped()'
    is thrown for any cell in this column, I get a null pointer in my
    getSelectedIndex() method of the lease combobox - only in this pump
    column. Even the part column works correctly. Code snips:
    public class MyApplication ... {
      private TableColumn leaseColumn;
      private TableColumn wellColumn;
      private TableColumn pumpColumn;
      private TableColumn partColumn;
      private LeaseDropDown leaseDropDown;
      private WellDropDown wellDropDown;
      private PumpDropDown pumpDropDown;
      private PartDropDown partDropDown;
      private int currentLease = 0;
      private int currentWell = 0;
      private int currentPump = 0;
      public MyApplication() {
        leaseColumn = pumpshopTable.getColumnModel().getColumn(1);
        leaseDropDown = new LeaseDropDown(companies);
        leaseColumn.setCellEditor(leaseDropDown);
        DefaultTableCellRenderer leaseRenderer =
          new DefaultTableCellRenderer();
        leaseRenderer.setToolTipText("Click for leases");
        leaseColumn.setCellRenderer(leaseRenderer);
        //... same for lease, well, pump, part ...
        leaseDropDown.addCellEditorListener(new CellEditorListener() {
          public void editingCanceled(ChangeEvent e) {
          } // end editingCanceled method
          public void editingStopped(ChangeEvent e) {
            updateCells();
          } // end editingStopped method
        }); // end addCellEditorListener inner class
        //.... same inner class for well, pump, part ...
      } // end MyApplication constructor
      public void updateCells() {
        currentLease = leaseDropDown.getSelectedLease();
        //... get current well, pump, part ...
        leaseDropDown = new LeaseDropDown(companies); // companies=Vector,col1
        leaseColumn.setCellEditor(leaseDropDown);
        //... same for lease, well, pump and part columns ...
      } // end updateCells method
    } // end MyApplication class
    public class LeaseDropDown extends AbstractCellEditor
        implements TableCellEditor {
      private Vector companiesVector;
      private JComboBox leaseList;
      public LeaseDropDown(Vector cVector) {
        companiesVector = cVector;     
      } // end LeaseDropDown constructor
      public Component getTableCellEditorComponent(JTable table,
          Object value, boolean isSelected, int rowIndex, int vColIndex) {
        Company thisCompany = (Company) companiesVector.get(rowIndex);
        Vector leasesVector = (Vector) thisCompany.getLeases();
        leaseList = new JComboBox(leasesVector);
        return leaseList;
      } // end getTableCellEditorComponent method
      public Object getCellEditorValue() {
        return leaseList.getSelectedItem();
      } // end getCellEditorValue method
      public int getSelectedLease() {
        JOptionPane.showInputDialog("Selected lease is: " +
          leaseList.getSelectedIndex());
        return leaseList.getSelectedIndex();          
      } // end getSelectedLease method
    } // end LeaseDropDown class... LeaseDropDown can be extrapolated to well, pump, and part,
    handing well the selected lease, handing pump the selected
    lease and well, handing part the selected lease, well and pump.
    I guess my question is how do I get the selected comboboxitem (I'd
    settle for the entire combobox if there's no other way) to fill in the
    next column? Why does the way I have it now work for the first 2 combobox
    columns and not the third?

    I'll try to provide more details.
    I use a JComboBox implementation as a cell in a JTable. The CombBox is editable . This is what I get when I try to type in something.
    java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location
    at java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:1507)
    at java.awt.Component.getLocationOnScreen(Component.java:1481)
    at javax.swing.JPopupMenu.show(JPopupMenu.java:921)
    at javax.swing.plaf.basic.BasicComboPopup.show(BasicComboPopup.java:177)
    at javax.swing.plaf.basic.BasicComboBoxUI.setPopupVisible(BasicComboBoxUI.java:927)
    at javax.swing.JComboBox.setPopupVisible(JComboBox.java:790)
    at javax.swing.JComboBox.showPopup(JComboBox.java:775)
    I read some related bugs on the sun site but I am not sure if this is a bug and if it is then has it been fixed or work-around provided.
    any insights ??

  • JComboBox as editor in JTable

    Hi,
    I have used JComboBox as editor for cell in one of the columns in JTable.
    And to that JComboBox I have set the Editor by extending the BasicComboBoxEditor class in which I used JFormattedTextField as an editor. ie I have set the JFormattedTextField as an editor for JComboBox and then JComboBox as an editor for table column cell. Got it!
    Now here;s the problem, when the cell is editable and combobox is having focus by using down arrow button it shows the drop down list and i can scroll it by pressing down arrow button. Now if i hit enter button it is not selecting the value and does nothing. Is there any techinical reason for this.
    I want that when I press Enter or tab after scrolling using down arrow button it should select currenlty highlited item. Rest of the work is done.
    Thanks and regards
    Nilesh

    Hello there
    I had a similar problem and I spent ages trying to figure it out. I take it the cell you are trying to edit is already empty. What it is, while you have a cell editor on the cell in question, you dont have a cell renderer which is responsible for actually drawing the selected item in the cell once the editing combobox has closed. The way I found around this problem was to fill the cells of the table with some default data when the table is initalised, this meant that a suitable renderer for the type of data I was trying to display was automatically assigned.
    Hope this helps

  • Java.lang.NullPointerException during clicking custom editor

    Hi,
    I have faced java.lang.NullPointerException when I want to click the custom editor in the property field. Let me explain more in depth.
    I have selected a hyperlink and want to key in the URL link under the property. When I click on the custom editor, it should have a pop-up screen for me to key in the link. However, it shows a java.lang.NullPointerException error.
    Can anyone please help?
    Thank you.

    This error was solved using latest Identity Manager IDE 8.1 downloaded from page:
    [identitymanageride.dev.java.net|https://identitymanageride.dev.java.net/servlets/ProjectDocumentList?folderID=9474&expandFolder=9474&folderID=9474]

Maybe you are looking for

  • It has an error when run a program in background job

    Dear Expert, we have a program when run it in background,it has a error "Error during import of clipboard contents" but when run it normally(run in front workbench se38 or run the t-code),everything is ok.i've used typingJDBG in the command box to de

  • Reload servlet to a specific area on the page

    Hi, gang I have a servlet that refreshes at user defined rate and displays a bunch of different things on the page. I would like to the user to be able to click on a link that would take him to (for instance) a middle of the page, and when the servle

  • Can not get cox cable home page

    I can't view my normal home page from cox cable

  • Start from Home - Adobe Digital Editions

    It's really nice to have a forum, now dedicated to EPUB in InDesign. My first discussion we raise here is an explanatory report on Digital Editions. So here's my first question? The digital edition can be considered the simplest platform lietura and

  • Can't import config to anything beyond 6.01 - say it isn't so

    Hi all Just downloaded, burned, and delivered MARS 6 image to one of our sites last week.  Target box reimaged from 4.3.6.  Exported config from 4.3.6, etc.  according to the Cisco documents. After the re-image, on the config import, i hit this error