Force Background Color

I've inherited a help system that uses a single CSS (RoboHelp
7). Some of the topics have a custom yellowish background; others
do not. Is there a way to select all files in the Topic List and
force them to have a white background? I've tried changing the
style sheet (using the Format | Styles command), but that doesn't
work. I can, of course, use the Borders and Shading control to
change each individual topic. That's going to kill me, though!
Isn't there a global setting?
Semicolon1

Hi there Semicolon1
This would seem to imply you have a bunch of topics that use
embedded styling. It's best to try and remember that CSS has a
hierarchy. The linked CSS file should be used to control as much of
your formatting as possible.
Each topic may have coding that will override the externally
referenced CSS file. If this is the case there is unfortunately no
choice but to hand edit the offending topic(s) to remove the
formatting. So if your CSS file specifies a background color of
yellow but specific topics always display baby blue, the topics
with baby blue probably have embedded code that overrides the CSS
file. You will need to edit each of these topics individually.
Sorry, but there is no way other than to use a global find and
replace tool to change these topics.
Hopefully this helps... Rick

Similar Messages

  • JTree custom renderer setting selection background color problem

    Hi,
    I have a JTree with a custom icon renderer that displays an icon. The JTree is part of a TreeTable component. Iam having a problem setting the selection background uniformly for the entire row. There is no problem when there is no row selected in the JTable.
    My present code looks like this:
    Iam overriding paint in my renderer which extends DefaultCellRenderer.
           super.paint(g);
            Color bColor = null;
            if(!m_selected) {
                 if(currRow % 2 == 0) {
                      bColor = Color.WHITE;
                 } else {
                                                    bColor = backColor;
            } else {
                 bColor = table.getSelectionBackground();                  bColor = getRowSelectionColor();
         if(bColor != null) {
                           g.setColor(bColor);
             if(!m_selected) {
                   g.setXORMode(new Color(0xFF, 0xFF, 0xFF));
             } else {
                 g.setXORMode(new Color(0x00, 0x00, 0x00));
                  I have a color I arrive at using some algorithm that I want using method getRowSelectionColor(). The other cells in the row have this color. But the cell containing the tree node shows different color. Iam not able to arrive at the right combination of the color to set and the xor color so my tree node also looks like the other cells in the row.
    It is not a problem really as the table still looks good. Its just that the tree node looks like it has been highlighted and this might cause a problem when a table cell is highlighed later on in the application ( two cells in the row would be highlighted causing confusion).
    Any help would be appreciated.
    Regards,
    vidyut

    Hi Camickr,
    Thanks for the reply. Iam sorry I didn't include the sources the first time around. There were too many of them. I have created a small, self-contained, compilable program that demonstrates the problem and including it herewith. Still there's quite many files but they are all needed Iam afraid. The only one you will have to concern yourself fior this problem is the file IconRenderer.java. The treenode background and the other cells background are not in sync when table row is not selected in this example though. But they are in my real program. I just need them to be in sync i.e have the same background color when the row is selected.
    Your help would be very much appreciated.
    These are the files that are included below:
    1. AbstractTreeTableModel.java
    2. Bookmarks.java
    3. BookmarksModel.java
    4. DynamicTreeTableModel.java
    5. IconRenderer.java
    6. IndicatorRenderer.java
    7. JTreeTable.java
    8. TreeTableExample3.java (contains main)
    9. TreeTableModel.java
    10. TreeTableModelAdapter.java
    The copyright and javadocs information has been stripped for clarity.
    cheers,
    vidyut
    // AbstractTreeTableModel.java BEGIN
    import javax.swing.tree.*;
    import javax.swing.event.*;
    public abstract class AbstractTreeTableModel implements TreeTableModel {
        protected Object root;    
        protected EventListenerList listenerList = new EventListenerList();
        public AbstractTreeTableModel(Object root) {
            this.root = root;
        // Default implementations for methods in the TreeModel interface.
        public Object getRoot() {
            return root;
        public boolean isLeaf(Object node) {
            return getChildCount(node) == 0;
        public void valueForPathChanged(TreePath path, Object newValue) {}
        // This is not called in the JTree's default mode:
        // use a naive implementation.
        public int getIndexOfChild(Object parent, Object child) {
            for (int i = 0; i < getChildCount(parent); i++) {
             if (getChild(parent, i).equals(child)) {
                 return i;
         return -1;
        public void addTreeModelListener(TreeModelListener l) {
            listenerList.add(TreeModelListener.class, l);
        public void removeTreeModelListener(TreeModelListener l) {
            listenerList.remove(TreeModelListener.class, l);
        protected void fireTreeNodesChanged(Object source, Object[] path,
                                            int[] childIndices,
                                            Object[] children) {
            // Guaranteed to return a non-null array
            Object[] listeners = listenerList.getListenerList();
            TreeModelEvent e = null;
            // Process the listeners last to first, notifying
            // those that are interested in this event
            for (int i = listeners.length-2; i>=0; i-=2) {
                if (listeners==TreeModelListener.class) {
    // Lazily create the event:
    if (e == null)
    e = new TreeModelEvent(source, path,
    childIndices, children);
    ((TreeModelListener)listeners[i+1]).treeNodesChanged(e);
    protected void fireTreeNodesInserted(Object source, Object[] path,
    int[] childIndices,
    Object[] children) {
    // Guaranteed to return a non-null array
    Object[] listeners = listenerList.getListenerList();
    TreeModelEvent e = null;
    // Process the listeners last to first, notifying
    // those that are interested in this event
    for (int i = listeners.length-2; i>=0; i-=2) {
    if (listeners[i]==TreeModelListener.class) {
    // Lazily create the event:
    if (e == null)
    e = new TreeModelEvent(source, path,
    childIndices, children);
    ((TreeModelListener)listeners[i+1]).treeNodesInserted(e);
    protected void fireTreeNodesRemoved(Object source, Object[] path,
    int[] childIndices,
    Object[] children) {
    // Guaranteed to return a non-null array
    Object[] listeners = listenerList.getListenerList();
    TreeModelEvent e = null;
    // Process the listeners last to first, notifying
    // those that are interested in this event
    for (int i = listeners.length-2; i>=0; i-=2) {
    if (listeners[i]==TreeModelListener.class) {
    // Lazily create the event:
    if (e == null)
    e = new TreeModelEvent(source, path,
    childIndices, children);
    ((TreeModelListener)listeners[i+1]).treeNodesRemoved(e);
    protected void fireTreeStructureChanged(Object source, Object[] path,
    int[] childIndices,
    Object[] children) {
    // Guaranteed to return a non-null array
    Object[] listeners = listenerList.getListenerList();
    TreeModelEvent e = null;
    // Process the listeners last to first, notifying
    // those that are interested in this event
    for (int i = listeners.length-2; i>=0; i-=2) {
    if (listeners[i]==TreeModelListener.class) {
    // Lazily create the event:
    if (e == null)
    e = new TreeModelEvent(source, path,
    childIndices, children);
    ((TreeModelListener)listeners[i+1]).treeStructureChanged(e);
    // Default impelmentations for methods in the TreeTableModel interface.
    public Class getColumnClass(int column) { return Object.class; }
    public boolean isCellEditable(Object node, int column) {
    return getColumnClass(column) == TreeTableModel.class;
    public void setValueAt(Object aValue, Object node, int column) {}
    // Left to be implemented in the subclass:
    * public Object getChild(Object parent, int index)
    * public int getChildCount(Object parent)
    * public int getColumnCount()
    * public String getColumnName(Object node, int column)
    * public Object getValueAt(Object node, int column)
    // AbstractTreeTableModel.java END
    // Bookmarks.java BEGIN
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.text.*;
    import javax.swing.text.html.*;
    import javax.swing.text.html.parser.*;
    public class Bookmarks {
    /** The root node the bookmarks are added to. */
    private BookmarkDirectory root;
    * Creates a new Bookmarks object, with the entries coming from
    * <code>path</code>.
    public Bookmarks(String path) {
         root = new BookmarkDirectory("Bookmarks");
         if (path != null) {
         parse(path);
    * Returns the root of the bookmarks.
    public BookmarkDirectory getRoot() {
         return root;
    protected void parse(String path) {
         try {
         BufferedReader reader = new BufferedReader(new FileReader
                                       (path));
         new ParserDelegator().parse(reader, new CallbackHandler(), true);
         catch (IOException ioe) {
         System.out.println("IOE: " + ioe);
         JOptionPane.showMessageDialog(null, "Load Bookmarks",
                             "Unable to load bookmarks",
                             JOptionPane.ERROR_MESSAGE);
    private static final short NO_ENTRY = 0;
    private static final short BOOKMARK_ENTRY = 2;
    private static final short DIRECTORY_ENTRY = 3;
    private class CallbackHandler extends HTMLEditorKit.ParserCallback {
         /** Parent node that new entries are added to. */
         private BookmarkDirectory parent;
         /** The most recently parsed tag. */
         private HTML.Tag tag;
         /** The last tag encountered. */
         private HTML.Tag lastTag;
         * The state, will be one of NO_ENTRY, DIRECTORY_ENTRY,
    * or BOOKMARK_ENTRY.
         private short state;
         * Date for the next BookmarkDirectory node.
         private Date parentDate;
         * The values from the attributes are placed in here. When the
         * text is encountered this is added to the node hierarchy and a
    * new instance is created.
         private BookmarkEntry lastBookmark;
         * Creates the CallbackHandler.
         public CallbackHandler() {
         parent = root;
         lastBookmark = new BookmarkEntry();
         // HTMLEditorKit.ParserCallback methods
         * Invoked when text in the html document is encountered. Based on
         * the current state, this will either: do nothing
    * (state == NO_ENTRY),
         * create a new BookmarkEntry (state == BOOKMARK_ENTRY) or
    * create a new
         * BookmarkDirectory (state == DIRECTORY_ENTRY). If state is
    * != NO_ENTRY, it is reset to NO_ENTRY after this is
    * invoked.
    public void handleText(char[] data, int pos) {
         switch (state) {
         case NO_ENTRY:
              break;
         case BOOKMARK_ENTRY:
              // URL.
              lastBookmark.setName(new String(data));
    parent.add(lastBookmark);
    lastBookmark = new BookmarkEntry();
              break;
         case DIRECTORY_ENTRY:
              // directory.
              BookmarkDirectory newParent = new
                   BookmarkDirectory(new String(data));
              newParent.setCreated(parentDate);
              parent.add(newParent);
              parent = newParent;
              break;
         default:
              break;
    state = NO_ENTRY;
         * Invoked when a start tag is encountered. Based on the tag
         * this may update the BookmarkEntry and state, or update the
         * parentDate.
         public void handleStartTag(HTML.Tag t, MutableAttributeSet a,
                        int pos) {
         lastTag = tag;
         tag = t;
         if (t == HTML.Tag.A && lastTag == HTML.Tag.DT) {
    long lDate;
              // URL
              URL url;
              try {
              url = new URL((String)a.getAttribute(HTML.Attribute.HREF));
              } catch (MalformedURLException murle) {
              url = null;
              lastBookmark.setLocation(url);
              // created
              Date date;
              try {
    lDate = Long.parseLong((String)a.getAttribute("add_date"));
    if (lDate != 0l) {
    date = new Date(1000l * lDate);
    else {
    date = null;
              } catch (Exception ex) {
              date = null;
              lastBookmark.setCreated(date);
              // last visited
              try {
    lDate = Long.parseLong((String)a.
    getAttribute("last_visit"));
    if (lDate != 0l) {
    date = new Date(1000l * lDate);
    else {
    date = null;
              } catch (Exception ex) {
              date = null;
              lastBookmark.setLastVisited(date);
              state = BOOKMARK_ENTRY;
         else if (t == HTML.Tag.H3 && lastTag == HTML.Tag.DT) {
              // new node.
              try {
              parentDate = new Date(1000l * Long.parseLong((String)a.
                                  getAttribute("add_date")));
              } catch (Exception ex) {
              parentDate = null;
              state = DIRECTORY_ENTRY;
         * Invoked when the end of a tag is encountered. If the tag is
         * a DL, this will set the node that parents are added to the current
         * nodes parent.
         public void handleEndTag(HTML.Tag t, int pos) {
         if (t == HTML.Tag.DL && parent != null) {
              parent = (BookmarkDirectory)parent.getParent();
    public static class BookmarkDirectory extends DefaultMutableTreeNode {
         /** Dates created. */
         private Date created;
         public BookmarkDirectory(String name) {
         super(name);
         public void setName(String name) {
         setUserObject(name);
         public String getName() {
         return (String)getUserObject();
         public void setCreated(Date date) {
         this.created = date;
         public Date getCreated() {
         return created;
    public static class BookmarkEntry extends DefaultMutableTreeNode {
         /** User description of the string. */
         private String name;
         /** The URL the bookmark represents. */
         private URL location;
         /** Dates the URL was last visited. */
         private Date lastVisited;
         /** Date the URL was created. */
         private Date created;
         public void setName(String name) {
         this.name = name;
         public String getName() {
         return name;
         public void setLocation(URL location) {
         this.location = location;
         public URL getLocation() {
         return location;
         public void setLastVisited(Date date) {
         lastVisited = date;
         public Date getLastVisited() {
         return lastVisited;
         public void setCreated(Date date) {
         this.created = date;
         public Date getCreated() {
         return created;
         public String toString() {
         return getName();
    // Bookmarks.java END
    // BookmarksModel.java BEGIN
    import java.util.Date;
    public class BookmarksModel extends DynamicTreeTableModel {
    * Names of the columns.
    private static final String[] columnNames =
    { "Name", "Location", "Last Visited", "Created" };
    * Method names used to access the data to display.
    private static final String[] methodNames =
    { "getName", "getLocation", "getLastVisited","getCreated" };
    * Method names used to set the data.
    private static final String[] setterMethodNames =
    { "setName", "setLocation", "setLastVisited","setCreated" };
    private static final Class[] classes =
    { TreeTableModel.class, String.class, Date.class, Date.class };
    public BookmarksModel(Bookmarks.BookmarkDirectory root) {
         super(root, columnNames, methodNames, setterMethodNames, classes);
    public boolean isCellEditable(Object node, int column) {
         switch (column) {
         case 0:
         // Allow editing of the name, as long as not the root.
         return (node != getRoot());
         case 1:
         // Allow editing of the location, as long as not a
         // directory
         return (node instanceof Bookmarks.BookmarkEntry);
         default:
         // Don't allow editing of the date fields.
         return false;
    // BookmarksModel.java END
    // DynamicTreeTableModel.java BEGIN
    import java.lang.reflect.*;
    import javax.swing.tree.*;
    public class DynamicTreeTableModel extends AbstractTreeTableModel {
    /** Names of the columns, used for the TableModel getColumnName method. */
    private String[] columnNames;
    private String[] methodNames;
    private String[] setterMethodNames;
    /** Column classes, used for the TableModel method getColumnClass. */
    private Class[] cTypes;
    public DynamicTreeTableModel(TreeNode root, String[] columnNames,
                        String[] getterMethodNames,
                        String[] setterMethodNames,
                        Class[] cTypes) {
         super(root);
         this.columnNames = columnNames;
         this.methodNames = getterMethodNames;
         this.setterMethodNames = setterMethodNames;
         this.cTypes = cTypes;
    public int getChildCount(Object node) {
         return ((TreeNode)node).getChildCount();
    public Object getChild(Object node, int i) {
         return ((TreeNode)node).getChildAt(i);
    public boolean isLeaf(Object node) {
         return ((TreeNode)node).isLeaf();
    public int getColumnCount() {
         return columnNames.length;
    public String getColumnName(int column) {
         if (cTypes == null || column < 0 || column >= cTypes.length) {
         return null;
         return columnNames[column];
    public Class getColumnClass(int column) {
         if (cTypes == null || column < 0 || column >= cTypes.length) {
         return null;
         return cTypes[column];
    public Object getValueAt(Object node, int column) {
         try {
         Method method = node.getClass().getMethod(methodNames[column],
                                  null);
         if (method != null) {
              return method.invoke(node, null);
         catch (Throwable th) {}
         return null;
    * Returns true if there is a setter method name for column
    * <code>column</code>. This is set in the constructor.
    public boolean isCellEditable(Object node, int column) {
    return (setterMethodNames != null &&
         setterMethodNames[column] != null);
    // Note: This looks up the methods each time! This is rather inefficient;
    // it should really be changed to cache matching
    // methods/constructors
    // based on <code>node</code>'s class, and code>aValue</code>'s
    //class.
    public void setValueAt(Object aValue, Object node, int column) {
         boolean found = false;
         try {
         // We have to search through all the methods since the
         // types may not match up.
         Method[] methods = node.getClass().getMethods();
         for (int counter = methods.length - 1; counter >= 0; counter--) {
              if (methods[counter].getName().equals
              (setterMethodNames[column]) && methods[counter].
              getParameterTypes() != null && methods[counter].
              getParameterTypes().length == 1) {
              // We found a matching method
              Class param = methods[counter].getParameterTypes()[0];
              if (!param.isInstance(aValue)) {
                   // Yes, we can use the value passed in directly,
                   // no coercision is necessary!
                   if (aValue instanceof String &&
                   ((String)aValue).length() == 0) {
                   // Assume an empty string is null, this is
                   // probably bogus for here.
                   aValue = null;
                   else {
                   // Have to attempt some sort of coercision.
                   // See if the expected parameter type has
                   // a constructor that takes a String.
                   Constructor cs = param.getConstructor
                   (new Class[] { String.class });
                   if (cs != null) {
                        aValue = cs.newInstance(new Object[]
                                       { aValue });
                   else {
                        aValue = null;
              // null either means it was an empty string, or there
              // was no translation. Could potentially deal with these
              // differently.
              methods[counter].invoke(node, new Object[] { aValue });
              found = true;
              break;
         } catch (Throwable th) {
         System.out.println("exception: " + th);
         if (found) {
         // The value changed, fire an event to notify listeners.
         TreeNode parent = ((TreeNode)node).getParent();
         fireTreeNodesChanged(this, getPathToRoot(parent),
                        new int[] { getIndexOfChild(parent, node) },
                        new Object[] { node });
    public TreeNode[] getPathToRoot(TreeNode aNode) {
    return getPathToRoot(aNode, 0);
    private TreeNode[] getPathToRoot(TreeNode aNode, int depth) {
    TreeNode[] retNodes;
         // This method recurses, traversing towards the root in order
         // size the array. On the way back, it fills in the nodes,
         // starting from the root and working back to the original node.
    /* Check for null, in case someone passed in a null node, or
    they passed in an element that isn't rooted at root. */
    if(aNode == null) {
    if(depth == 0)
    return null;
    else
    retNodes = new TreeNode[depth];
    else {
    depth++;
    if(aNode == root)
    retNodes = new TreeNode[depth];
    else
    retNodes = getPathToRoot(aNode.getParent(), depth);
    retNodes[retNodes.length - depth] = aNode;
    return retNodes;
    // DynamicTreeTableModel.java END
    // IconRenderer.java BEGIN
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.plaf.basic.BasicTreeUI;
    class IconRenderer extends DefaultTreeCellRenderer
    // Color backColor = new Color(0xD0, 0xCC, 0xFF);
    Color backColor = new Color(0xF0, 0xF0, 0xE0);
    String tipText = "";
    JTree tree;
    int currRow = 0;
    boolean m_selected;
    JTable table;
    public IconRenderer(JTree tree, JTable table) {
    this.table = table;
    // setBackground(backColor);
    setBackground(Color.GREEN);
    setForeground(Color.black);
         this.tree = tree;
    public Component getTreeCellRendererComponent(JTree tree, Object value,
    boolean selected,
    boolean expanded, boolean leaf,
    int row, boolean hasFocus) {
         Object node = null;
         super.getTreeCellRendererComponent(
    tree, value, selected,
    expanded, leaf, row,
    hasFocus);
         TreePath treePath = tree.getPathForRow(row);
    if(treePath != null)
              node = treePath.getLastPathComponent();
    currRow = row;
    m_selected = selected;
    DefaultMutableTreeNode itc = null;
    if (node instanceof DefaultMutableTreeNode) {
    itc = (DefaultMutableTreeNode)node;
         setClosedIcon(closedIcon);
    setOpenIcon(openIcon);
    return this;
    /* Override the default to send back different strings for folders and leaves. */
    public String getToolTipText() {
    return tipText;
    * Paints the value. The background is filled based on selected.
    public void paint(Graphics g) {
         super.paint(g);
         Color bColor = null;
         if(!m_selected) {
              System.out.println(" iconren not sel currRow " + currRow);
              if(currRow % 2 == 0) {
                   bColor = Color.WHITE;
              } else {
              bColor = backColor;
         } else {
              bColor = table.getSelectionBackground();
              System.out.println("in else selbg = " + bColor);           
              bColor = new Color(0xF0, 0xCC, 0x92);
              System.out.println(" bColor aft = " + bColor);           
         int imageOffset = -1;
         if(bColor != null) {
         imageOffset = getLabelStart();
         g.setColor(bColor);
         if(!m_selected) {
              System.out.println(" not sel setting white ");
              g.setXORMode(new Color(0xFF, 0xFF, 0xFF));
         } else {
    //          g.setXORMode(new Color(0xCC, 0xCC, 0x9F));
              g.setXORMode(new Color(0x00, 0x00, 0x00));
              System.out.println(" using color = " + g.getColor());           
         if(getComponentOrientation().isLeftToRight()) {
         g.fillRect(imageOffset, 0, getWidth() - 1 - imageOffset,
                   getHeight());
         } else {
         g.fillRect(0, 0, getWidth() - 1 - imageOffset,
                   getHeight());
    private int getLabelStart() {
         Icon currentI = getIcon();
         if(currentI != null && getText() != null) {
         return currentI.getIconWidth() + Math.max(0, getIconTextGap() - 1);
         return 0;
    // IconRenderer.java END
    // IndicatorRenderer.java BEGIN
    // import java.awt.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    import javax.swing.table.*;
    import javax.swing.table.*;
    import javax.swing.plaf.basic.*;
    import java.awt.event.*;
    import java.util.EventObject;
    import java.text.NumberFormat;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.StringTokenizer;
    import java.util.Arrays;
    class IndicatorRenderer extends DefaultTableCellRenderer {
    /** Makes sure the number of displayed in an internationalized
    * manner. */
    protected NumberFormat formatter;
    /** Row that is currently being painted. */
    protected int lastRow;
    protected int reloadRow;
    protected int reloadCounter;
    protected TreeTableModel treeTableModel;
    protected TreeTableModelAdapter treeTblAdapter;
    protected JTable table;
    Component renderer = null;
    Color backColor = new Color(0xF0, 0xF0, 0xE0);
    IndicatorRenderer(TreeTableModelAdapter treeTblAdapter, TreeTableModel treeTableModel) {
         setHorizontalAlignment(JLabel.RIGHT);
         setFont(new Font("serif", Font.BOLD, 12));
         this.treeTableModel = treeTableModel;
         this.treeTblAdapter = treeTblAdapter;
    * Invoked as part of DefaultTableCellRenderers implemention. Sets
    * the text of the label.
    public void setValue(Object value) {
    /* setText((value == null) ? "---" : formatter.format(value)); */
         setText((value == null) ? "---" : (String) value.toString());
    * Returns this.
    public Component getTableCellRendererComponent(JTable table,
    Object value, boolean isSelected, boolean hasFocus,
    int row, int column) {
         renderer = super.getTableCellRendererComponent(table, value, isSelected,
    hasFocus, row, column);
         lastRow = row;
         this.table = table;
              if(isSelected) {
                   doMask(hasFocus, isSelected);
              } else
              setBackground(table.getBackground());
    return renderer;
    * If the row being painted is also being reloaded this will draw
    * a little indicator.
    public void paint(Graphics g) {
         super.paint(g);
    private void doMask(boolean hasFocus, boolean selected) {
              maskBackground(hasFocus, selected);
    private void maskBackground(boolean hasFocus, boolean selected) {
              Color seed = null;
              seed = table.getSelectionBackground();
              Color color = seed;
              if (color != null) {
                   setBackground(
    new Color(0xF0, 0xCC, 0x92));
    // IndicatorRenderer.java END
    // JTreeTable.java BEGIN
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    import javax.swing.table.*;
    import java.awt.event.*;
    import java.util.EventObject;
    public class JTreeTable extends JTable {
    /** A subclass of JTree. */
    protected TreeTableCellRenderer tree;
    protected IndicatorRenderer indicatorRenderer = null;
    public JTreeTable(TreeTableModel treeTableModel) {
         super();
         // Creates the tree. It will be used as a renderer and editor.
         tree = new TreeTableCellRenderer(treeTableModel);
         TreeTableModelAdapter tdap = new TreeTableModelAdapter(treeTableModel, tree);
         // Installs a tableModel representing the visible rows in the tree.
         super.setModel(tdap);
         // Forces the JTable and JTree to share their row selection models.
         ListToTreeSelectionModelWrapper selectionWrapper = new
         ListToTreeSelectionModelWrapper();
         tree.setSelectionModel(selectionWrapper);
         setSelectionModel(selectionWrapper.getListSelectionModel());
         // Installs the tree editor renderer and editor.
         setDefaultRenderer(TreeTableModel.class, tree);
         setDefaultEditor(TreeTableModel.class, new TreeTableCellEditor());
         indicatorRenderer = new IndicatorRenderer(tdap, treeTableModel);     
         // No grid.
         setShowGrid(false);
         // No intercell spacing
         setIntercellSpacing(new Dimension(0, 0));     
         // And update the height of the trees row to match that of
         // the table.
         //if (tree.getRowHeight() < 1) {
         // Metal looks better like this.
         setRowHeight(20);
    public TableCellRenderer getCellRenderer(int row, int col) {
              if(col == 0)
              return tree;
              else
              return indicatorRenderer;     
    public void updateUI() {
         super.updateUI();
         if(tree != null) {
         tree.updateUI();
         // Do this so that the editor is referencing the current renderer
         // from the tree. The renderer can potentially change each time
         // laf changes.
         setDefaultEditor(TreeTableModel.class, new TreeTableCellEditor());
         // Use the tree's default foreground and background colors in the
         // table.
    LookAndFeel.installColorsAndFont(this, "Tree.background",
    "Tree.foreground", "Tree.font");
    public int getEditingRow() {
    return (getColumnClass(editingColumn) == TreeTableModel.class) ? -1 :
         editingRow;
    private int realEditingRow() {
         return editingRow;
    public void sizeColumnsToFit(int resizingColumn) {
         super.sizeColumnsToFit(resizingColumn);
         if (getEditingColumn() != -1 && getColumnClass(editingColumn) ==
         TreeTableModel.class) {
         Rectangle cellRect = getCellRect(realEditingRow(),
                             getEditingColumn(), false);
    Component component = getEditorComponent();
         component.setBounds(cellRect);
    component.validate();
    public void setRowHeight(int rowHeight) {
    super.setRowHeight(rowHeight);
         if (tree != null && tree.getRowHeight() != rowHeight) {
    tree.setRowHeight(getRowHeight());
    public JTree getTree() {
         return tree;
    public boolean editCellAt(int row, int column, EventObject e){
         boolean retValue = super.editCellAt(row, column, e);
         if (retValue && getColumnClass(column) == TreeTableModel.class) {
         repaint(getCellRect(row, column, false));
         return retValue;
    public class TreeTableCellRenderer extends JTree implements
         TableCellRenderer {
         /** Last table/tree row asked to renderer. */
         protected int visibleRow;
         /** Border to draw around the tree, if this is non-null, it will
         * be painted. */
         protected Border highlightBorder;
         public TreeTableCellRenderer(Tr

  • Can the current line be highlighted using a background color or have the cursor flash?

    I use the split screen and left click in the Design pane to jump to where I want to be in the Code pane in Dreamweaver CS6. The problem is that it can be very hard to tell where the cursor is in the Code pane since the cursor doesn't flash.
    Is there a way to force Dreamweaver CS6 to change the background color of the currently selected line or at least have the cursor flash in both panes? There must be some way to make it easier to find the current line of code.
    Thanks.

    John Waller wrote:
    The cursor does not flash in Code View only when Code View is not in focus i.e. you're working in the Design View window in Split View.
    In those caases, I just highlight a word or two in Design View and the corresponding words are highlighted by DW in Code View (even when Code view is not in focus).
    Thanks. I've been doing that, but sometimes there is no text to highlight. I hoped Dreamweaver might have a hidden setting that I could enable. That's a lot of extra sliding of the hand/wrist for no good reason when it would be easy for the Dreamweaver programmers to change the background color of the current line or make the cursor flash or do something else to indicate where you are in the code besides making the user constantly make a smearing action with the mouse. All of those extra movements add up the wear and tear when you're trying to avoid getting a repetitive stress injury, especially if you already use mouse gestures in a browser.

  • [SOLVED] Gnome notification area has wrong background color

    I'm using the Shiki-Brave theme on Gnome and all (yes, all) of the tray icons have the wrong background color.  The color changes slighty if I select another Shiki theme, but is pretty close to the default gray.  Strangely, I only have this issue on my desktop at home -- none of my other machines (two laptops and a desktop at work) exhibit the problem.  I have ensured that the theme is exactly the same on all machines.  Another oddity is that other themes (e.g. high contrast inverse) have the right background color!
    The only thing I have managed to find via Google is a bug report against Gnome.  Here is what I have tried:
    * Removing and readding the applet to the panel.
    * Blowing away all my settings (rm -rf .gnome2 .gconf .gconfd .local) and setting things up again.  To be sure I did not miss anything, I also tried creating a new user with a clean home.  Still the same issue.
    * Removing and reinstalling all of the gnome and gnome_extra groups.  I even cleared the pacman cache to force a redownload.
    Any ideas?  I'm at a loss on what to try next.
    Thanks!
    Last edited by kdorf (2011-04-09 06:29:51)

    I figured out the problem.
    I have an NVIDIA card and I recently modified my X server to use Xinerama instead of TwinView.  Xinerama was responsible for all this nastiness.  Reverting to TwinView fixed the problem (and some other weird ones that started popping up).
    Those of you with NVIDIA cards, avoid Xinerama!

  • Defining a background color for a paragraph style

    Hello and please excuse this very basic question, but I am completely stumped.
    How do I simply define a background color for a paragraph style? I cannot use a table etc. because the styles are mapped during an XML conversion. Code lines should receive a gray background box to separate them from the text.
    Also, is there a way to force line breaks whithin words for a specific style? The text, formated in Courier, should just fill the space with a fixed width per character and break wherever the line ends.

    With some drawbacks it's doable using two paragraph tags.
    The first tag, e.g. "Line" is empty (no text), and it has a reference page graphic that's just a rectangle filled 100% with color and set to have a percentage tint so that the text will "show through" it.
    "Line" is also set to have a negative space below it, e.g. -12 points.
    "Code" paratag has the actual code text in it, and it's set to have a negative space above, e.g. -12 points.
    I've done projects where I have multiple Line paratags differing by the number of code lines needing to be shaded, e.g. Line1, Line2, Line3.
    Unfortunately there isn't a way to automatically have the line expand to the correct depth of the Code paragraph, although I believe this would probably be something that could be done as a Framescript, to run through a document and create new "line" paratags of the correct depth depending on how many Code paragraphs or lines are in the following paratag.

  • GPO to set display background COLOR

    Need to set the display background color with a group policy.  Found what seemed a good example to follow but nothing happens.
    http://serverfault.com/questions/213641/how-to-force-background-colour-with-gpo-centred-wallpaper
    Any assistance is appreciated.
    Windows 7 sp1 PC

    You could create a theme that includes the background of your choice, then share it using group policy.  Follow these steps to create the theme:
    http://www.winhelponline.com/blog/share-theme-with-all-users-windows-7/
    The Windows 7 GPO to "Load a specific theme" is under User Configuration --> Administrative Templates --> Personalization, which can be set to point to a shared location that contains the theme.  The drawback here is that existing user
    profiles will ignore this setting.  Only new users logging into the workstation for the first time will execute it.  So to convert existing users, you would need to push out a registry change that points to the new theme.
    In addition, you can also set "Prevent changing theme" and "Prevent changing desktop background" to keep the settings locked.

  • Htmltext background color

    Hi.
    My problem is: I need support for styling text background color inside htmlText property of a Text (or TextArea) control, for text that is marked up with html tags.
    I am aware that Flex's htmltext only supports a subset of actual HTML tags:
    <font color='#ff0000'>the text</font>                       is supported
    <font backgroundColor='#ffffff'>the text</font>      is not supported
    And this is a problem for me because I absolutely need to be able to change the background color for certain words in the text. I searched a lot for a solution with no success. The only thing I see that supports background color is the TextField object, but I have no clue how I would implement it in the same manner as the Text or TextArea control. Does anyone have any suggestions?
    (compounded with this is that rather than use:  <font color='#ff0000' backgroundColor='#ffffff'>the text</font>, the text is marked up with <span id='group1'>the text</span> tags, and these CSS IDs are being processed with a stylesheet object in actionscript. So ideally, the solution should also work with stylesheets, but I can work around it if I'm forced to resort to hardcoding in the HTML tags.)
    Thanks for your attention.

    Thanks, but I want to change the background color only in one
    word, not all of the text.

  • Please Help with background color problem in loaded .swf

    I am stuck!
    This is Flash CS4...
    I created a flash application which loads in many other little flash applications (.swf files) based on menu selections.
    When I change one of the little applications the changes are viewable except when I change the background color.
    After the first time I view the application, the background color changes do not carry over to the main app.  I run the little ones stand alone and they show the new color, then I run the main app and any other changes I have made are there but not the color change.  When I remove the file and the load fails, the old backround color still displays in the container movie clip the .swf was previously loaded into.
    I have tried several different options and the only thing that worked was renaming and copying and deleting and making a big mess.  There has to be a way to force a refresh of this mysteriously saved color. doesn't there?
    Please help!
    Thanks!
    Vivian

    Hi Antonia
    I am loading the swf into an instance of a movie clip:
    var myLoader:MovieClipLoader = new MovieClipLoader();
    myLoader.loadClip("Capitalization.swf",  contCapitalization);
    it is the background of Capitalization.swf that will not change
    this is AS 2 since the app was created before I upgraded
    Any ideas?

  • Change default background color in Dynamic pages

    Anyone knows how to change the default background color of a
    dynamic content page in WEBDB 2.2?.
    I want to display some information with a query in a Dynamic
    Content Page but the background color is, by default, beige.
    I try to force the the background color placing the html tag
    <td bgcolor=#FFFFFF> but there is still a beige strip at the
    left side of the table.
    Thanks

    Hi Richard,
    For about how to inspect page element, you can use IE Developer Tools:
    https://msdn.microsoft.com/en-us/library/ie/bg182326%28v=vs.85%29?f=255&MSPPError=-2147217396
    Thanks 
    Patrick Liang
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Portlet Background Color Disappears when displayed

    Hi,
    I am using ver 9.0.4.0.99 of Portal and I'v created several Navigation Pages for the top banner and footer of my pages.
    The banner is divided into two regions each holding an image. To 'fill in' the white space that surrounds the images I've specified a background color (blue) in a 'banner style' and added it to each region of the Navigation Page.
    When we look at the Navigation Page alone, all looks well, but when we add the Navigation Page as a portlet to our root page in a banner region, the background color just disapears. I am left with two images surrounded by
    whitespace.
    I have just recently done the same process (nav pages with separate styles) in version 9.0.2.6 with another company and I did not have this problem. It worked fine. I even went back to make sure I followed the exact same steps and settings.
    Has something changed with this version (9.0.4.0.99)?
    Any ideas what we are doing wrong? Thx for your input.

    In the properties for your navigation page, on the Others tab, ensure the "Use Style Of Page On Which Portlet Is Placed " checkbox is unchecked. This should force it to use the style you picked in the banner page and not on the display page. Please note this checkbox only has affect on item regions in the navigation page. Portlet regions on the navigation page will take the colors from the style on the display page.
    Hope this helps,
    Candace

  • Background color of a list item implemented as Tlist

    Hi,
    I have one form with 3 blocks each holding one list item. The list item that has the focus should have a different background color from the other 2 list items. I thought to implement this with visual attributes I assign in the when-new-block-instance trigger. This however only partially works.
    What happens is the following :
    At startup focus is in the first block. This block's when-new-block-instance trigger is fired :
    SET_ITEM_PROPERTY('BK_LIST.LIST',VISUAL_ATTRIBUTE ,'VA_INDICATOR');
    SET_ITEM_PROPERTY('BK_LIST2.LIST',VISUAL_ATTRIBUTE ,'VA_ENABLED_LIST');
    SET_ITEM_PROPERTY('BK_LIST3.LIST',VISUAL_ATTRIBUTE ,'VA_ENABLED_LIST2');
    and the list correctly gets it's yellow background. (defined in va_indicator)
    Va_enabled_list and va_enabled_list2 both have a white background, difference between them is the font size)
    Now when we move focus to the 2nd block we get a different behaviour. This is the trigger defined on the 2nd block :
    SET_ITEM_PROPERTY('BK_LIST.LIST',VISUAL_ATTRIBUTE ,'VA_ENABLED_LIST');
    SET_ITEM_PROPERTY('BK_LIST2.LIST',VISUAL_ATTRIBUTE ,'VA_INDICATOR');
    SET_ITEM_PROPERTY('BK_LIST3.LIST',VISUAL_ATTRIBUTE ,'VA_ENABLED_LIST2');
    So I except the first block to get a white background again and the second block to get it's yellow background. However only the selected row in the tlist changes it's background color. (this in both blocks)
    I do not understand why the first time (at form startup) the background color is set for the whole item and the second time only for the selected record.
    I tried to use the property background_color but the colors are different from what I see in my color palette in that case. If I use the same color codes I also use in my visual_attributes the final result on the screen is different...
    Secondly the result is the same, at form startup the item's background is set, as from the second call only the current salected record in the tlist will change from background color.
    Forms are running C/S and are developed in Forms 6i. One way to get the result I need is by navigating back & forward to my application in Windows using Alt-Tab. At that moment the correct background colors are suddenly applied... Is there a way to force a similar sort of screen refresh ?
    Thanks for any hints, workarounds, tips or solutions !
    Kris
    Message was edited by:
    [email protected]

    Hi,
    I still don't have a clue how I could solve this one.
    It works leaving the block (so making it white again) but it does not work entering the block. (giving the list item another background color). The problem is not about the whithe color. If I do my tests with other colors (red-yellow) the problem remains.
    Best Regards,
    Kris

  • Div background color

    hi:
    PHP, MySQL
    i have a master page where each row is displayed using an
    inline list
    with text pulled fron a DB and 2 of the <li> with
    background color/image
    specified in the CSS div
    what i need is filling the lower item background to the same
    height as
    the taller one. is it possible with lists and CSS or should i
    deal with
    a table?
    you can see what i mean here where the the first "column"
    should have
    the background color covering the row height:
    http://82.223.148.78/test/jdoe/images/activities_master.gif
    tia,
    jdoe

    Steve wrote:
    > If you post your URL or code, we can probably solve
    this.
    i moved from list to table, i need to see if i have a backup
    > I'm thinking that
    > you'll need to force the height attribute on the list
    item so that all of
    > the <li> sections are the same height. But I can't
    be sure without seeing
    > the code.
    i tried it and it works. but then every "row" has the same
    height no
    matter how long the content is. and what i need is them
    adjusting its
    height according to the content as it occurs in tables. or in
    lists
    without height (but with the problem that background colors
    only cover
    the area with content as in the screen capture in the link at
    the bottom
    >
    > Steve
    >
    > "John Doe" <[email protected]> wrote in message
    > news:[email protected]...
    >> hi Steve:
    >>
    >> i finally used a table, quit and easy. anyway, i'm
    curious how to do it
    >> with CSS and lists
    >>
    >> thanks for your advice,
    >>
    >> jdoe
    >>
    >> Steve wrote:
    >>> Hi JD
    >>>
    >>> IMHO, it's usually better to use a table for
    repeating database output,
    >>> but I'm sure that this can be done using CSS and
    <li> only if you want.
    >>> Could you post a URL to your page?
    >>>
    >>> If you decide to use a table, read this:
    >>>
    >>>
    http://www.web-max.ca/PHP/misc_14.php
    >>>
    >>> Steve
    >>>
    >>> "John Doe" <[email protected]> wrote in
    message
    >>> news:[email protected]...
    >>>> hi:
    >>>>
    >>>> PHP, MySQL
    >>>>
    >>>> i have a master page where each row is
    displayed using an inline list
    >>>> with text pulled fron a DB and 2 of the
    <li> with background color/image
    >>>> specified in the CSS div
    >>>>
    >>>> what i need is filling the lower item
    background to the same height as
    >>>> the taller one. is it possible with lists
    and CSS or should i deal with
    >>>> a table?
    >>>>
    >>>> you can see what i mean here where the the
    first "column" should have
    >>>> the background color covering the row
    height:
    >>>>
    >>>>
    http://82.223.148.78/test/jdoe/images/activities_master.gif
    >>>>
    >>>>
    >>>> tia,
    >>>>
    >>>> jdoe
    >>>>
    >>>>
    >

  • Changing the background color of the Modern interface of an user

    Hi
    How do I change the background color
    of the Modern interface of an user in
    Windows 8.1 Update 1?
    Thanks
    Bye
    Balubeto

    Hi,
    Just switch to the start screen, then move the mouse to the right side, click the "Settings" bar, then click "Personalize", then choose a colour you want.
    Add: you can also refer to this link to change the colour by editing registry
    http://www.eightforums.com/tutorials/29573-color-background-accent-force-windows-8-1-a.html
    NOTE
    This
    response contains a reference to a third party World Wide Web site. Microsoft is providing this information as a convenience to you.
    Microsoft
    does not control these sites and has not tested any software or information found on these sites.
    Yolanda Zhu
    TechNet Community Support

  • Portlet background color

    I'm new to plumtree. The question I have is how can I change the default white background color of a page? I created portlet and add it into myPage. But the background color is white.

    Hi, Mike.
    It sure doesn't look like it from the administration tool! I will check
    around and see if anyone has figured out how to do this!
    Cindy Eldenburg
    Mike Bayne wrote:
    When creating a portlet, I am forced to select a background color, is
    there a way to have a transparent portlet so that the Portal's
    background image is not covered up by the portlet?
    Thanks,
    Mike

  • Header background color does not work

    Hi,
    I would like to change the background color of the header element, but it does not work as I imagined
    First of all, here is the HTML:
    <body>
    <div id="wraper">
      <header>
        <h1><span>Pacific</span> Coastal Highway</h1>
        <nav>
          <ul>
            <li>Home</li>
            <li>Big Sur</li>
            <li>Pfeiffer Beach</li>
            <li>Elephant Seals</li>
            <li>Morro Bay</li>
          </ul>
        </nav>
      </header>
      // ... some other HTML elements & content ...
    </body>
    So, within <header> element we have <h1> and <nav> elements, and within that <nav> element there is a list that is actually menu.
    Here it CSS code that refers to these elements:
    #wraper {
        width: 1200px;
        background-color: #FFFFFF;
        margin-left: auto;
        margin-right: auto;
        margin-top: 0px;
        border-right: 1px solid #000000;
        border-left: 1px solid #000000;
    body {
        margin: 0;
        background-color: #CBD2FB;
        font-family: "OpenSans Regular", "Gill Sans MT", Arial, "Times New Roman", sans-serif;
        color: #202020;
        background-image: -webkit-linear-gradient(270deg,rgba(135,167,207,1.00) 0%,rgba(204,217,234,1.00) 11.91%,rgba(232,238,245,1.00) 25.91%,rgba(202,212,220,1.00) 100%,rgba(0,0,0,1.00) 100%,rgba(135,167,207,1.00) 100%,rgba(138,169,207,1.00) 100%,rgba(135,167,207,1.00) 100%,rgba(202,212,220,1.00) 100%);
        background-image: -moz-linear-gradient(270deg,rgba(135,167,207,1.00) 0%,rgba(204,217,234,1.00) 11.91%,rgba(232,238,245,1.00) 25.91%,rgba(202,212,220,1.00) 100%,rgba(0,0,0,1.00) 100%,rgba(135,167,207,1.00) 100%,rgba(138,169,207,1.00) 100%,rgba(135,167,207,1.00) 100%,rgba(202,212,220,1.00) 100%);
        background-image: -o-linear-gradient(270deg,rgba(135,167,207,1.00) 0%,rgba(204,217,234,1.00) 11.91%,rgba(232,238,245,1.00) 25.91%,rgba(202,212,220,1.00) 100%,rgba(0,0,0,1.00) 100%,rgba(135,167,207,1.00) 100%,rgba(138,169,207,1.00) 100%,rgba(135,167,207,1.00) 100%,rgba(202,212,220,1.00) 100%);
        background-image: linear-gradient(180deg,rgba(135,167,207,1.00) 0%,rgba(204,217,234,1.00) 11.91%,rgba(232,238,245,1.00) 25.91%,rgba(202,212,220,1.00) 100%,rgba(0,0,0,1.00) 100%,rgba(135,167,207,1.00) 100%,rgba(138,169,207,1.00) 100%,rgba(135,167,207,1.00) 100%,rgba(202,212,220,1.00) 100%);
    h1 {
        margin-top: 0px;
        font-size: 48px;
        text-shadow: 1px 1px 2px #969696;
        padding-top: 32px;
    h1, h2, h3 {
        font-family: "Prociono Regular", "OpenSans Regular", "Gill Sans MT", "Times New Roman", Arial;
        color: #507AAD;
        text-align: center;
    h1 span {
        position: relative;
        top: -37px;
        left: 35px;
        font-family: GoodDog, Arial, "Times New Roman", "Gill Sans MT", sans-serif;
        font-size: 47px;
    header nav ul {
        margin-right: auto;
        margin-left: auto;
        list-style-type: none;
        padding-left: 0px;
        width: 705px;
        /* [disabled]margin-bottom: 10px; */
    nav ul li {
        float: left;
        padding: 10px;
        display: block;
        width: 110px;
        text-align: center;
        background-color: #A9A3FF;
        border-right: 1px solid #FFFFFF;
        border-radius: 23px;
        background-image: -webkit-linear-gradient(270deg,rgba(135,167,207,1.00) 0%,rgba(204,217,234,1.00) 60.11%);
        background-image: -moz-linear-gradient(270deg,rgba(135,167,207,1.00) 0%,rgba(204,217,234,1.00) 60.11%);
    background-image: -o-linear-gradient(270deg,rgba(135,167,207,1.00) 0%,rgba(204,217,234,1.00) 60.11%);
        background-image: linear-gradient(180deg,rgba(135,167,207,1.00) 0%,rgba(204,217,234,1.00) 60.11%);
        margin: 18px 5px;
    And, finally, here's how it looks:
    Now, I'd like to change the background color of the <header> element (to chage that white behind that <h1> and menu into some other color), so I just added the background color of the <header> element in CSS:
    header {
        background-color: #FF2D31;
    But, here is how it looks now:
    As you can see, although <nav> element with list (menu) is IN <header> element - the background color of <header> is just behind <h1> element.
    Do you know why it's happening, and what would be the best way to solve this problem?
    Thank you in advance.

    Ben Pleysier wrote:
    The problem is caused when floated children do not force the parent element to clear the floats.
    Nancy O. wrote:
    It may seem counter-intuitive but overflow:hidden prevents margin collapse on parent elements containing floats:
    The magic of “overflow: hidden” — Articles — Colin Aarts, freelance web developer
    I'm trying to figure out what happened (and why) in my example, where the problem occurred, but...
    I tried with inspecting elements with Firebug - to see what's what in case when there isn't overflow:hidden property that is related to <header> element in this example from the first post:
    As you can see in the picture - <header> element is only that blue area containing <h1> element, and although <nav> element (with the <ul> element inside) is IN <header> element - it is not shown within the blue area, as it is not within <header> element.
    As for the <h1> element which is inside of the <header> element, when I select it - it looks like this:
    Now, purple area indicates the padding-top of <h1> element, and I guess that yellow area which indicates the margin is actually browser's default margin of the <h1> element.
    Next, confusing is when I select <nav> element:
    Although <nav> element is selected - there is no that blue area indicating where is that element on the web-page... ?
    Next, when I select <ul> element, there is only yellow area indicating margin -  I guess that yellow area which indicates the margin is actually browser's default margin of the <ul> element.
    When I select <li> element - it's the same case as with <nav> element there is no that blue area indicating where is that element on the web-page... ?
    Finally, when I select <a> element - it looks like this:
    All in all - inspecting all <header> element and the elements within it didn't help me to see what and why this is happening (with the background color of the header element). I think the problem is in me, I'll wait a few days and maybe then things become clearer in my mind
    Sorry for my bad English.
    Again, thank you all!

Maybe you are looking for

  • How do we read the values in a tiled view,in the submitted form ?

    Hi, I have a form, which is having a tiled view. Each row in the tiled view has a check box. I have to read these check box selections, once the page is submitted. Is there any built in mechanism in JATO to do this ? One way I know is to maintain a h

  • Complete configuration of JAAS with JBOSS using database

    JAAS Configuration 1.     Database      Create following table: a.     Principals table consists of usernames (PrincipalID) and their passwords. CREATE TABLE Principals (PrincipalID VARCHAR (64) PRIMARY KEY, Password VARCHAR (64)) Insert data INSERT

  • Ipod as a external hard disk!!!

    Isnt the ipod can use as a external hard disk>?how?can anybody give some idea in the way to do this!!! thanks!!!

  • How to impor the pdf file into crystal report

    I try to import the whole pdf into the crystal report. But when I import it, I can only import the first page of the PDF. Can anyone give me some suggestions? Thank you.

  • Creating IT00 and retrieving pernr

    Hi Guys,           Generally when we do hiring in R/3, after creating IT0000 we get the pernr (internal). How to achieve this through BAPI? I know we cannot perform action thru BAPI. But what I am doing is I am creating each infotype (00, 01, 02, 06,