JEditorPane syntax support
Hiya,
Does anyone know how can I have a JEitorPane check the typed text and highlight certain words? I thought of adding a keyListener and checking all words after eack key stroke to see if any of the existing words match my reserved (syntax) words, but I guess this can turn up to be quite "heavy" especially if text contained in editor grows too large.
Any alternative suggestions?
Thanx
This question has been asked many times. Search the forum using keywords "+syntax +highlighting" as a start. Read a bunch of the posts and choose your own solution.
Similar Messages
-
Which version of EJBQL does JDeveloper 10.1.3.2.0 support?
Hi,
Can somebody please give me few pointers or clues?
Thanks,
Vadi -
SYNTAX "INNER JOIN and OUTER JOIN"
Hi Experts,
I think LEFT JOIN,INNER JOIN syntax is in ANSI.
I know that Oracle has got its own alternate(+) operator to serve the purpose.
Please tell me whether INNER JOIN,OUTER JOIN,LEFT JOIN,LEFT OUTER JOIN,RIGHT OUTER JOIN these syntaxes present in ORACLE 8I.
If not in 9i Or highr versions are they existing?
Thanks in advance,
Ananth
nullHi,
8i has inner join. (+) syntax supports LEFT or RIGHT OUTER JOIN.
FULL OUTER JOIN is supported in 9i, which introduces the JOIN keyword.
Herman -
Newbie: Syntax for OUTER joins
Hello there,
I'm trying to write some very simple ANSI outer joins using quest's TOAD software but I keep running into syntax errors.
Take the following classic text book example
Find all customers who have not placed an order
SELECT c.customerid, o.orderid
FROM customers c
LEFT OUTER JOIN orders o
ON c.customerid = o.customerid
WHERE o.orderid IS NULL
alternative syntax supported by SQL Server
SELECT c.customerid, o.orderid
FROM customers c, orders o
WHERE c.customerid *= o.customerid AND o.orderid IS NULL
How do you write the above style of statements. Can you write RIGHT JOIN and FULL JOIN statements? What about CROSS JOIN statements
Cheers,
Colin Rippey
nullSELECT c.customerid, o.orderid
FROM customers c, orders o
WHERE
c.customerid = o.customerid(+) and
o.orderid IS NULL
null -
Hi,
as a project for school, we have to make a rather basic Java webbrowser. I've used the JEditorPane, and this works fine. Although it does seems to have soms problems with applying the css, specifically inline css. For example: if i try to open google.com, it shows the logo image in different pieces, it doenst align the text (or in the wrong direction) etc etc. I've also used a HTMLEditorKit, but this also doen't do the job.
Perhaps I'm not doing it right, so excuse me then, but if not, could you please give me some alternatifs.
Thanks in advance!well, considering JEditorPane only supports HTML 3.2 and no Javascript and probably only part of CSS 1, then I wouldn't be surprised.
-
Hi,
I recently started using SASS in my websites. Working on a mac, i had to install a good deal of software via Terminal such as Ruby, NodeJS and Compass to check and handle the preprocessing for me. This process was pretty intimidating for a front-end designer like me. I can imagine incorporating such technology would greatly improve the appeal of Edge Code.
Any chance Edge would support this in the future?I wanted to give an update on this feature concept, as we know that CSS preprocessor support is a hot topic these days. The team analyzed it and divided the feature into two significant pieces: 1) preprocessor support for code hinting and syntax support 2) direct preprocessor compiling/support from within the tool. We are looking into resolving #1 mid this year, but I don’t have an ETA for #2. We are in current investigation of both task and hope to provide the best solution as soon as possible! On the Brackets side, we have the below tasks that lead into this feature. When these features are completed for Brackets, they get shortly rolled into Edge Code.
Early preprocessor hinting/syntax support: https://trello.com/c/C2vXQ7qU
Full preprocessor hinting/syntax support: https://trello.com/c/EAQrlZv5
Full LESS compiling/tooling in the editor, which would lead quickly into SASS: https://trello.com/c/fwdSCJSK/912-epic-sass-support
Thanks again for using Edge Code! -
Does the default HTMLEditorKit and JEditorPane work with javascript
Hello all,
my question is as per title, Ive tried some basic javascript and it doesn't seem to process it. The javascript being
<html>
<head>
<script type="text/javascript">
location.href = 'someotherpage.html';
</script>
</head>
</html>This doesn't seem to work as the JEditorPane doesn't fire any HTMLHyperLinkEvent events when this page is loaded. I have setEditable(false) and HTMLHyperLinkEvent 's are fired when links a clicked. Is there a flag that needs to be set to use javascript with the defaultHTMLEditorKit or can't it be used.
thanksI have the problem too.
I tested some pages,JEditorPane doesnot support javascript.
I am finding how to make it.
Can anyone help me?
Thanks in advance!
I am from China. -
Is the bind variable syntax supported in procedure? The following produces error:
VARIABLE salary number
CREATE OR REPLACE PROCEDURE bindvar
is
eid employees.employee_id%type;
BEGIN
SELECT employee_id INTO eid FROM EMPLOYEES
WHERE employee_id > :salary and rownum=1;
DBMS_OUTPUT.PUT_LINE(:salary);
END;
LINE/COL ERROR
6/26 PLS-00049: bad bind variable 'SALARY'
7/24 PLS-00049: bad bind variable 'SALARY'
But if I change the procedure to an anonymous block, everything works fine!your variable salary declaration exists only in the current SQL*Plus session. It is not going to be existing in all the environments from where this stored procedure can be called and certainly not on the server where the code is stored in the database.
The reference can be used in an anonymous block run from the same SQL*Plus session, since it is one time execution. Not in a stored procedure like the way you intend.
You could have the stored procedure take a number as input and use that parameter in your sql. then at SQL*Plus prompt call the procedure passing the value in :salary variable to get the results. -
Display JTree in browser using JSP
i have a program that converts xml file in to tree structure(using Swing). When i run this using eclipse then it is working. Swing is an extension of applet , right. I want to embed this in an HTML page(JSP). so that i can display the tree structure. Its gives class not foung error.
It is not posiible to embed it. I think if it extends an Applet then it will display. But i don't know how to convert that. It gives error if i convert.
pls help
CODE:
package TreeGen;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import java.io.IOException;
import org.w3c.dom.Document;
// Basic GUI components
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
// GUI components for right-hand side
import javax.swing.JSplitPane;
import javax.swing.JEditorPane;
// GUI support classes
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
// For creating borders
import javax.swing.border.EmptyBorder;
import javax.swing.border.BevelBorder;
import javax.swing.border.CompoundBorder;
// For creating a TreeModel
import javax.swing.tree.*;
import javax.swing.event.*;
import java.util.*;
public class TreeGen extends JPanel
static Document document;
boolean compress = false;
static final int windowHeight = 660;
static final int leftWidth = 300;
static final int rightWidth = 640;
static final int windowWidth = leftWidth + rightWidth;
public TreeGen()
EmptyBorder eb = new EmptyBorder(5,5,5,5);
BevelBorder bb = new BevelBorder(BevelBorder.LOWERED);
CompoundBorder cb = new CompoundBorder(eb,bb);
this.setBorder(new CompoundBorder(cb,eb));
JTree tree = new JTree(new DomToTreeModelAdapter());
JScrollPane treeView = new JScrollPane(tree);
treeView.setPreferredSize(
new Dimension( leftWidth, windowHeight ));
final
JEditorPane htmlPane = new JEditorPane("text/html","");
htmlPane.setEditable(true);
JScrollPane htmlView = new JScrollPane(htmlPane);
htmlView.setPreferredSize(
new Dimension( rightWidth, windowHeight ));
tree.addTreeSelectionListener(
new TreeSelectionListener()
public void valueChanged(TreeSelectionEvent e)
TreePath p = e.getNewLeadSelectionPath();
if (p != null)
AdapterNode adpNode =
(AdapterNode) p.getLastPathComponent();
htmlPane.setText(adpNode.content());
JSplitPane splitPane =
new JSplitPane( JSplitPane.HORIZONTAL_SPLIT,
treeView,
htmlView );
splitPane.setContinuousLayout( false );
splitPane.setDividerLocation( leftWidth );
splitPane.setDividerSize(1);
splitPane.setPreferredSize(
new Dimension( windowWidth + 10, windowHeight+10 ));
this.setLayout(new BorderLayout());
this.add("Center", splitPane );
//return menuBar;
} // constructor
public static void main(String argv[])
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse("C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/parser1/sample.xml");
makeFrame();
} catch (SAXException sxe){
System.out.println("ERROR");
Exception x = sxe;
if (sxe.getException() != null)
x = sxe.getException();
x.printStackTrace();
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
} // main
public static void makeFrame()
JFrame frame = new JFrame("DOM Echo");
frame.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
final TreeGen echoPanel =
new TreeGen();
frame.getContentPane().add("Center", echoPanel );
frame.pack();
Dimension screenSize =
Toolkit.getDefaultToolkit().getScreenSize();
int w = windowWidth + 10;
int h = windowHeight + 10;
frame.setSize(w, h);
frame.setVisible(true);
} // makeFrame
static final String[] typeName = {
"none",
"Element",
"Attr",
"Text",
"CDATA",
"EntityRef",
"Entity",
"ProcInstr",
"Comment",
"Document",
"DocType",
"DocFragment",
"Notation",
static final int ELEMENT_TYPE = 1;
static final int ATTR_TYPE = 2;
static final int TEXT_TYPE = 3;
static final int CDATA_TYPE = 4;
static final int ENTITYREF_TYPE = 5;
static final int ENTITY_TYPE = 6;
static final int PROCINSTR_TYPE = 7;
static final int COMMENT_TYPE = 8;
static final int DOCUMENT_TYPE = 9;
static final int DOCTYPE_TYPE = 10;
static final int DOCFRAG_TYPE = 11;
static final int NOTATION_TYPE = 12;
static String[] treeElementNames = {
"slideshow",
"slide",
"title", // For slideshow #1
"slide-title", // For slideshow #10
"item",
boolean treeElement(String elementName) {
for (int i=0; i<treeElementNames.length; i++) {
//System.out.println(treeElementNames);
if ( elementName.equals(treeElementNames[i]) )
return true;
return false;
public class AdapterNode
org.w3c.dom.Node domNode;
public AdapterNode(org.w3c.dom.Node node)
domNode = node;
public String toString()
String s = typeName[domNode.getNodeType()];
String nodeName = domNode.getNodeName();
if (! nodeName.startsWith("#"))
s += ": " + nodeName;
if (compress)
String t = content().trim();
int x = t.indexOf("\n");
if (x >= 0) t = t.substring(0, x);
s += " " + t;
return s;
if (domNode.getNodeValue() != null)
if (s.startsWith("ProcInstr"))
s += ", ";
else
s += ": ";
// Trim the value to get rid of NL's at the front
String t = domNode.getNodeValue().trim();
int x = t.indexOf("\n");
if (x >= 0) t = t.substring(0, x);
s += t;
return s;
public String content()
String s = "";
org.w3c.dom.NodeList nodeList = domNode.getChildNodes();
for (int i=0; i<nodeList.getLength(); i++)
org.w3c.dom.Node node = nodeList.item(i);
int type = node.getNodeType();
//System.out.println(type);
AdapterNode adpNode = new AdapterNode(node); //inefficient, but works
if (type == ELEMENT_TYPE)
if ( treeElement(node.getNodeName()) ) continue;
s += "<" + node.getNodeName() + ">";
s += adpNode.content();
s += "</" + node.getNodeName() + ">";
else if (type == TEXT_TYPE)
s += node.getNodeValue();
else if (type == ENTITYREF_TYPE)
s += adpNode.content();
else if (type == CDATA_TYPE)
StringBuffer sb = new StringBuffer( node.getNodeValue() );
for (int j=0; j<sb.length(); j++)
if (sb.charAt(j) == '<')
sb.setCharAt(j, '&');
sb.insert(j+1, "lt;");
j += 3;
else if (sb.charAt(j) == '&')
sb.setCharAt(j, '&');
sb.insert(j+1, "amp;");
j += 4;
s += "<pre>" + sb + "\n</pre>";
return s;
public int index(AdapterNode child)
int count = childCount();
for (int i=0; i<count; i++)
AdapterNode n = this.child(i);
if (child.domNode == n.domNode) return i;
return -1; // Should never get here.
public AdapterNode child(int searchIndex)
org.w3c.dom.Node node =
domNode.getChildNodes().item(searchIndex);
if (compress)
int elementNodeIndex = 0;
for (int i=0; i<domNode.getChildNodes().getLength(); i++)
node = domNode.getChildNodes().item(i);
if (node.getNodeType() == ELEMENT_TYPE
&& treeElement( node.getNodeName() )
&& elementNodeIndex++ == searchIndex)
break;
return new AdapterNode(node);
public int childCount()
if (!compress)
return domNode.getChildNodes().getLength();
int count = 0;
for (int i=0; i<domNode.getChildNodes().getLength(); i++)
org.w3c.dom.Node node = domNode.getChildNodes().item(i);
if (node.getNodeType() == ELEMENT_TYPE
&& treeElement( node.getNodeName() ))
++count;
return count;
public class DomToTreeModelAdapter
implements javax.swing.tree.TreeModel
public Object getRoot()
return new AdapterNode(document);
public boolean isLeaf(Object aNode)
AdapterNode node = (AdapterNode) aNode;
if (node.childCount() > 0) return false;
return true;
public int getChildCount(Object parent)
AdapterNode node = (AdapterNode) parent;
return node.childCount();
public Object getChild(Object parent, int index)
AdapterNode node = (AdapterNode) parent;
return node.child(index);
public int getIndexOfChild(Object parent, Object child)
AdapterNode node = (AdapterNode) parent;
return node.index((AdapterNode) child);
public void valueForPathChanged(TreePath path, Object newValue)
private Vector listenerList = new Vector();
public void addTreeModelListener(TreeModelListener listener)
if ( listener != null
&& ! listenerList.contains( listener ) )
listenerList.addElement( listener );
public void removeTreeModelListener(TreeModelListener listener)
if ( listener != null )
listenerList.removeElement( listener );
public void fireTreeNodesChanged( TreeModelEvent e )
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() )
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeNodesChanged( e );
public void fireTreeNodesInserted( TreeModelEvent e )
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() )
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeNodesInserted( e );
public void fireTreeNodesRemoved( TreeModelEvent e )
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() )
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeNodesRemoved( e );
public void fireTreeStructureChanged( TreeModelEvent e )
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() )
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeStructureChanged( e );I actually had to do this a few months ago. There are ways to perform this kind display using various distributed object (i.e., using MS Word OLE objects to "interpret" the byte for you, etc.). But this soon got extremely difficult to manage (and I actually had to use Perl/CGI for the majority of it).
The solution I went with was to implement a "cache" directory on the web server. Basically, the JSP/Servlet can simply check the cache and if file not there, create it from the database. Then send a redirect back to the browser to this newly-created file. The browser will then appropriately open the document. I tested this with both Netscape and IE browsers and common MIME types such as text files, MS Office docs, zip files, PDFs, RTFs.
Not ideal, but unfortunately the best I came up with. -
i have a program to convert Xml to tree structure. But i am not able to call it in JSP. So i want to convert to applet. how to convert it.
package TreeGen;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import java.io.File;
import java.io.IOException;
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;
import org.w3c.dom.Element;
// Basic GUI components
import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
// GUI components for right-hand side
import javax.swing.JSplitPane;
import javax.swing.JEditorPane;
// GUI support classes
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
// For creating borders
import javax.swing.border.EmptyBorder;
import javax.swing.border.BevelBorder;
import javax.swing.border.CompoundBorder;
// For creating a TreeModel
import javax.swing.tree.*;
import javax.swing.event.*;
import java.util.*;
import java.applet.*;
public class TreeGen extends JPanel
static Document document;
boolean compress = false;
static final int windowHeight = 660;
static final int leftWidth = 300;
static final int rightWidth = 640;
static final int windowWidth = leftWidth + rightWidth;
public TreeGen()
EmptyBorder eb = new EmptyBorder(5,5,5,5);
BevelBorder bb = new BevelBorder(BevelBorder.LOWERED);
CompoundBorder cb = new CompoundBorder(eb,bb);
this.setBorder(new CompoundBorder(cb,eb));
JTree tree = new JTree(new DomToTreeModelAdapter());
JScrollPane treeView = new JScrollPane(tree);
treeView.setPreferredSize(
new Dimension( leftWidth, windowHeight ));
final
JEditorPane htmlPane = new JEditorPane("text/html","");
htmlPane.setEditable(true);
JScrollPane htmlView = new JScrollPane(htmlPane);
htmlView.setPreferredSize(
new Dimension( rightWidth, windowHeight ));
tree.addTreeSelectionListener(
new TreeSelectionListener()
public void valueChanged(TreeSelectionEvent e)
TreePath p = e.getNewLeadSelectionPath();
if (p != null)
AdapterNode adpNode =
(AdapterNode) p.getLastPathComponent();
htmlPane.setText(adpNode.content());
JSplitPane splitPane =
new JSplitPane( JSplitPane.HORIZONTAL_SPLIT,
treeView,
htmlView );
splitPane.setContinuousLayout( false );
splitPane.setDividerLocation( leftWidth );
splitPane.setDividerSize(1);
splitPane.setPreferredSize(
new Dimension( windowWidth + 10, windowHeight+10 ));
this.setLayout(new BorderLayout());
this.add("Center", splitPane );
//return menuBar;
} // constructor
public static void main(String argv[])
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse("C:/Program Files/Apache Software Foundation/Tomcat 5.0/webapps/parser1/sample.xml");
makeFrame();
} catch (SAXException sxe){
System.out.println("ERROR");
Exception x = sxe;
if (sxe.getException() != null)
x = sxe.getException();
x.printStackTrace();
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
} // main
public static void makeFrame()
//JApplet app = new JApplet();
//app.add
JFrame frame = new JFrame("DOM Echo");
frame.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
final TreeGen echoPanel =
new TreeGen();
frame.getContentPane().add("Center", echoPanel );
frame.pack();
Dimension screenSize =
Toolkit.getDefaultToolkit().getScreenSize();
int w = windowWidth + 10;
int h = windowHeight + 10;
//TreeGen tg = new TreeGen();
//MenuDemo demo = new MenuDemo();
//frame.setJMenuBar(demo.createMenuBar());
//frame.setContentPane(demo.createContentPane());
//Display the window.
frame.setSize(w, h);
frame.setVisible(true);
} // makeFrame
static final String[] typeName = {
"none",
"Element",
"Attr",
"Text",
"CDATA",
"EntityRef",
"Entity",
"ProcInstr",
"Comment",
"Document",
"DocType",
"DocFragment",
"Notation",
static final int ELEMENT_TYPE = 1;
static final int ATTR_TYPE = 2;
static final int TEXT_TYPE = 3;
static final int CDATA_TYPE = 4;
static final int ENTITYREF_TYPE = 5;
static final int ENTITY_TYPE = 6;
static final int PROCINSTR_TYPE = 7;
static final int COMMENT_TYPE = 8;
static final int DOCUMENT_TYPE = 9;
static final int DOCTYPE_TYPE = 10;
static final int DOCFRAG_TYPE = 11;
static final int NOTATION_TYPE = 12;
static String[] treeElementNames = {
"slideshow",
"slide",
"title", // For slideshow #1
"slide-title", // For slideshow #10
"item",
boolean treeElement(String elementName) {
for (int i=0; i<treeElementNames.length; i++) {
//System.out.println(treeElementNames);
if ( elementName.equals(treeElementNames[i]) )
return true;
return false;
public class AdapterNode
org.w3c.dom.Node domNode;
public AdapterNode(org.w3c.dom.Node node)
domNode = node;
public String toString()
String s = typeName[domNode.getNodeType()];
String nodeName = domNode.getNodeName();
if (! nodeName.startsWith("#"))
s += ": " + nodeName;
if (compress)
String t = content().trim();
int x = t.indexOf("\n");
if (x >= 0) t = t.substring(0, x);
s += " " + t;
return s;
if (domNode.getNodeValue() != null)
if (s.startsWith("ProcInstr"))
s += ", ";
else
s += ": ";
// Trim the value to get rid of NL's at the front
String t = domNode.getNodeValue().trim();
int x = t.indexOf("\n");
if (x >= 0) t = t.substring(0, x);
s += t;
return s;
public String content()
String s = "";
org.w3c.dom.NodeList nodeList = domNode.getChildNodes();
for (int i=0; i<nodeList.getLength(); i++)
org.w3c.dom.Node node = nodeList.item(i);
int type = node.getNodeType();
//System.out.println(type);
AdapterNode adpNode = new AdapterNode(node); //inefficient, but works
if (type == ELEMENT_TYPE)
if ( treeElement(node.getNodeName()) ) continue;
s += "<" + node.getNodeName() + ">";
s += adpNode.content();
s += "</" + node.getNodeName() + ">";
else if (type == TEXT_TYPE)
s += node.getNodeValue();
else if (type == ENTITYREF_TYPE)
s += adpNode.content();
else if (type == CDATA_TYPE)
StringBuffer sb = new StringBuffer( node.getNodeValue() );
for (int j=0; j<sb.length(); j++)
if (sb.charAt(j) == '<')
sb.setCharAt(j, '&');
sb.insert(j+1, "lt;");
j += 3;
else if (sb.charAt(j) == '&')
sb.setCharAt(j, '&');
sb.insert(j+1, "amp;");
j += 4;
s += "<pre>" + sb + "\n</pre>";
return s;
public int index(AdapterNode child)
int count = childCount();
for (int i=0; i<count; i++)
AdapterNode n = this.child(i);
if (child.domNode == n.domNode) return i;
return -1; // Should never get here.
public AdapterNode child(int searchIndex)
org.w3c.dom.Node node =
domNode.getChildNodes().item(searchIndex);
if (compress)
int elementNodeIndex = 0;
for (int i=0; i<domNode.getChildNodes().getLength(); i++)
node = domNode.getChildNodes().item(i);
if (node.getNodeType() == ELEMENT_TYPE
&& treeElement( node.getNodeName() )
&& elementNodeIndex++ == searchIndex)
break;
return new AdapterNode(node);
public int childCount()
if (!compress)
return domNode.getChildNodes().getLength();
int count = 0;
for (int i=0; i<domNode.getChildNodes().getLength(); i++)
org.w3c.dom.Node node = domNode.getChildNodes().item(i);
if (node.getNodeType() == ELEMENT_TYPE
&& treeElement( node.getNodeName() ))
++count;
return count;
public class DomToTreeModelAdapter
implements javax.swing.tree.TreeModel
public Object getRoot()
return new AdapterNode(document);
public boolean isLeaf(Object aNode)
AdapterNode node = (AdapterNode) aNode;
if (node.childCount() > 0) return false;
return true;
public int getChildCount(Object parent)
AdapterNode node = (AdapterNode) parent;
return node.childCount();
public Object getChild(Object parent, int index)
AdapterNode node = (AdapterNode) parent;
return node.child(index);
public int getIndexOfChild(Object parent, Object child)
AdapterNode node = (AdapterNode) parent;
return node.index((AdapterNode) child);
public void valueForPathChanged(TreePath path, Object newValue)
private Vector listenerList = new Vector();
public void addTreeModelListener(TreeModelListener listener)
if ( listener != null
&& ! listenerList.contains( listener ) )
listenerList.addElement( listener );
public void removeTreeModelListener(TreeModelListener listener)
if ( listener != null )
listenerList.removeElement( listener );
public void fireTreeNodesChanged( TreeModelEvent e )
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() )
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeNodesChanged( e );
public void fireTreeNodesInserted( TreeModelEvent e )
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() )
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeNodesInserted( e );
public void fireTreeNodesRemoved( TreeModelEvent e )
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() )
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeNodesRemoved( e );
public void fireTreeStructureChanged( TreeModelEvent e )
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() )
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeStructureChanged( e );
pls help.
ramyaThere's already some applet code in there, although it's commented out. Did you add that?
Anyway, the general principle for turning an app into an applet, is to replace the main() method with the Applet's (or JApplet's) init(), start(), and stop() methods. Also you won't be able to read data off the file system; use resources instead. (e.g., java.lang.Class.getResource)
I'm not sure what this has to do with JSP.
When you post code, please wrap it in [code][/code] tags. -
Hi, I have a quey inside a Xml File and I need to use the Comparasion Operator for "Greater than" in this way : >
Question: Does Hana Syntax support > ?Hi there,
Was '>' or '<' not working from XML? I used a > operator in a calculated column and then exported the HANA model to see the XML file of it. It has something like this below:
<formula>IF("EMP NO " >=3,"EMPLOYEE NAME","GENDER")</formula>
Regards,
Krishna Tangudu -
How to use ODBC SQLDriverConnect() without using tnsnames.ora file
I have an ODBC application that connects to an Oracle 10g database. Currently, my SQLDriverConnect() function call uses the following connection string:
DRIVER={Oracle in OraClient10g_home1}; DBQ=MyDB.world; DBA=W; UID=foo; PWD=bar
This requires an entry in the tnsnames.ora file that looks like this:
MyDB.world =
(DESCRIPTION = (ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)(Host = server1.intel.com)(Port = 1521)
(ADDRESS =
(PROTOCOL = TCP)(Host = server2.intel.com)(Port = 1521)
(ADDRESS =
(PROTOCOL = TCP)(Host = server3.intel.com)(Port = 1521)
(ADDRESS =
(PROTOCOL = TCP)(Host = server4.intel.com)(Port = 1521)
(LOAD_BALANCE = yes)
(CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = MY_SRVC))
However, I would really like to be able to connect using ODBC without having to create that entry in the tnsnames.ora file. I have tried to substitute the DBQ=MyDB.world with the entire (DESCRIPTION=..... string from the original tnsnames.ora file, but it returns the error:
ORA-12154: TNS: Could not resolve the connect identifier specified.
I have heard others are able to use sqlplus with no tnsnames.ora file and the do specify the entire (DESCRIPTION=.... string on the sqlplus connection string, but is this possible to do using the ODBC SQLDriverConnect() function? If so, do I need to use a different keyword/value pair other than DBQ=?
Any help on this would be greatly appreciated.
Thank you.How would that work in a load balanced configuration? Take a closer look at the tnsnames.ora example I included in my original post. I have 4 ADDRESS= sections to denote 4 servers that are part of the load balanced environment.
Also, I'm not familiar with that syntax, I need to use the syntax supported by the SQLDriverConnect() API function, which looks like this:
DRIVER={Oracle in OraClient10g_home1}; DBQ=MyDB.world; DBA=W; UID=foo; PWD=bar
I don't know as SQLDriverConnect() would accept an alternative syntax. But the more important issue here is the ability to specify those 4 servers in the load balanced configuration as indicated by that tnsnames.ora entry. -
How to get rid of annoying tool tips while editing SQL files
I'm using Visual Studio 2013 to edit an .SQL file and I have attached the editor to a local SQL Server 2008 R2 database.
While editing the string that is passed to a sp_executesql procedure it keeps popping up a tool tip saying:
"Parameter help is not supported for extended stored procedures"
Generally I don't care about that and it is annoying because it keeps appearing over the top of the text I want to read. Is there any way to stop Visual Studio doing this?
aHi aptitude,
Thank you for posting in the MSDN forum.
>>I'm using Visual Studio 2013 to edit an .SQL file and I have attached the editor to a local SQL Server 2008 R2 database.
Could you share us more information about this issue? You said that you edit the .sql file, which kind of app did you create which would use the .SQL file? Whether it is related to the SQL Server database project or others?
If it is related to the SQL Server Database project, please post this issue to the SSDT forum:
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/home?forum=ssdt
>>While editing the string that is passed to a sp_executesql procedure it keeps popping up a tool tip saying:"Parameter help is not supported for extended stored procedures".
Reference:
https://technet.microsoft.com/en-us/library/ms175170%28v=sql.105%29.aspx
https://msdn.microsoft.com/en-us/library/ms188001(v=sql.105).aspx
But if it is related to the SQL Server, to really repro this issue, and make sure that whether this warning is related to the SQL scrip or others, maybe you could select a better forum here:
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/home?category=sqlserver
If I have misunderstood this issue, maybe you could share us a simple sample and the detailed steps in your new reply, so we could really repro this issue in our side.
In addition, I did some research about the warning message:
https://msdn.microsoft.com/en-us/library/ms173434.aspx?f=255&MSPPError=-2147217396
The IntelliSense functionality of the Database Engine Query Editor does not support all Transact-SQL syntax elements. Parameter help does not support the parameters in some objects, such as extended stored procedures. For more information, see
Transact-SQL Syntax Supported by IntelliSense.
In SQL Server, it seems that it is related to the IntelliSense, I'm not very sure that whether it is related to the IntelliSense of VS IDE, but generally we could enable or disable IntelliSense under TOOLS->Option->Text Editor in VS
IDE.
Maybe you could disable IntelliSense in VS IDE, and then check it again.
If I misunderstood this issue, please feel free to let me know.
Best Regards,
Jack
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Remove white space nodes from jtree
I am trying to create jtree using XML DOM.
But I m not able to remove/ignore the white space elements from DOM.
I am getting output something like this
for example
Server
Text
node1
Text
I want something like this.
Server
node1
I tried all option for removeing the white space
Here I am posting the source
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import java.io.File;
import java.io.IOException;
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;
// Basic GUI components
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
// GUI components for right-hand side
import javax.swing.JSplitPane;
import javax.swing.JEditorPane;
// GUI support classes
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
// For creating borders
import javax.swing.border.EmptyBorder;
import javax.swing.border.BevelBorder;
import javax.swing.border.CompoundBorder;
// For creating a TreeModel
import javax.swing.tree.*;
import javax.swing.event.*;
import java.util.*;
public class DomEcho02 extends JPanel
// Global value so it can be ref'd by the tree-adapter
static Document document;
static final int windowHeight = 460;
static final int leftWidth = 300;
static final int rightWidth = 340;
static final int windowWidth = leftWidth + rightWidth;
public DomEcho02()
// Make a nice border
EmptyBorder eb = new EmptyBorder(5,5,5,5);
BevelBorder bb = new BevelBorder(BevelBorder.LOWERED);
CompoundBorder cb = new CompoundBorder(eb,bb);
this.setBorder(new CompoundBorder(cb,eb));
// Set up the tree
JTree tree = new JTree(new DomToTreeModelAdapter());
// Iterate over the tree and make nodes visible
// (Otherwise, the tree shows up fully collapsed)
//TreePath nodePath = ???;
// tree.expandPath(nodePath);
// Build left-side view
JScrollPane treeView = new JScrollPane(tree);
treeView.setPreferredSize(
new Dimension( leftWidth, windowHeight ));
// Build right-side view
JEditorPane htmlPane = new JEditorPane("text/html","");
htmlPane.setEditable(false);
JScrollPane htmlView = new JScrollPane(htmlPane);
htmlView.setPreferredSize(
new Dimension( rightWidth, windowHeight ));
// Build split-pane view
JSplitPane splitPane =
new JSplitPane( JSplitPane.HORIZONTAL_SPLIT,
treeView,
htmlView );
splitPane.setContinuousLayout( true );
splitPane.setDividerLocation( leftWidth );
splitPane.setPreferredSize(
new Dimension( windowWidth + 10, windowHeight+10 ));
// Add GUI components
this.setLayout(new BorderLayout());
this.add("Center", splitPane );
} // constructor
public static void main(String argv[])
if (argv.length != 1) {
System.err.println("Usage: java DomEcho filename");
System.exit(1);
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
//factory.setValidating(true);
//factory.setNamespaceAware(true);
try {
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse( new File(argv[0]) );
makeFrame();
} catch (SAXException sxe) {
// Error generated during parsing)
Exception x = sxe;
if (sxe.getException() != null)
x = sxe.getException();
x.printStackTrace();
} catch (ParserConfigurationException pce) {
// Parser with specified options can't be built
pce.printStackTrace();
} catch (IOException ioe) {
// I/O error
ioe.printStackTrace();
} // main
public static void makeFrame() {
// Set up a GUI framework
JFrame frame = new JFrame("DOM Echo");
frame.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
// Set up the tree, the views, and display it all
final DomEcho02 echoPanel =
new DomEcho02();
frame.getContentPane().add("Center", echoPanel );
frame.pack();
Dimension screenSize =
Toolkit.getDefaultToolkit().getScreenSize();
int w = windowWidth + 10;
int h = windowHeight + 10;
frame.setLocation(screenSize.width/3 - w/2,
screenSize.height/2 - h/2);
frame.setSize(w, h);
frame.setVisible(true);
} // makeFrame
// An array of names for DOM node-types
// (Array indexes = nodeType() values.)
static final String[] typeName = {
"none",
"Element",
"Attr",
"Text",
"CDATA",
"EntityRef",
"Entity",
"ProcInstr",
"Comment",
"Document",
"DocType",
"DocFragment",
"Notation",
// This class wraps a DOM node and returns the text we want to
// display in the tree. It also returns children, index values,
// and child counts.
public class AdapterNode
org.w3c.dom.Node domNode;
// Construct an Adapter node from a DOM node
public AdapterNode(org.w3c.dom.Node node) {
domNode = node;
// Return a string that identifies this node in the tree
// *** Refer to table at top of org.w3c.dom.Node ***
public String toString() {
String s = typeName[domNode.getNodeType()];
String nodeName = domNode.getNodeName();
if (! nodeName.startsWith("#")) {
s += ": " + nodeName;
if (domNode.getNodeValue() != null) {
if (s.startsWith("ProcInstr"))
s += ", ";
else
s += ": ";
// Trim the value to get rid of NL's at the front
String t = domNode.getNodeValue().trim();
int x = t.indexOf("\n");
if (x >= 0) t = t.substring(0, x);
s += t;
return s;
* Return children, index, and count values
public int index(AdapterNode child) {
//System.err.println("Looking for index of " + child);
int count = childCount();
for (int i=0; i<count; i++) {
AdapterNode n = this.child(i);
if (child.domNode == n.domNode) return i;
return -1; // Should never get here.
public AdapterNode child(int searchIndex) {
//Note: JTree index is zero-based.
org.w3c.dom.Node node =
domNode.getChildNodes().item(searchIndex);
return new AdapterNode(node);
public int childCount() {
return domNode.getChildNodes().getLength();
// This adapter converts the current Document (a DOM) into
// a JTree model.
public class DomToTreeModelAdapter
implements javax.swing.tree.TreeModel
// Basic TreeModel operations
public Object getRoot() {
//System.err.println("Returning root: " +document);
return new AdapterNode(document);
public boolean isLeaf(Object aNode) {
// Determines whether the icon shows up to the left.
// Return true for any node with no children
AdapterNode node = (AdapterNode) aNode;
if (node.childCount() > 0) return false;
return true;
public int getChildCount(Object parent) {
AdapterNode node = (AdapterNode) parent;
return node.childCount();
public Object getChild(Object parent, int index) {
AdapterNode node = (AdapterNode) parent;
return node.child(index);
public int getIndexOfChild(Object parent, Object child) {
AdapterNode node = (AdapterNode) parent;
return node.index((AdapterNode) child);
public void valueForPathChanged(TreePath path, Object newValue) {
// Null. We won't be making changes in the GUI
// If we did, we would ensure the new value was really new,
// adjust the model, and then fire a TreeNodesChanged event.
* Use these methods to add and remove event listeners.
* (Needed to satisfy TreeModel interface, but not used.)
private Vector listenerList = new Vector();
public void addTreeModelListener(TreeModelListener listener) {
if ( listener != null
&& ! listenerList.contains( listener ) ) {
listenerList.addElement( listener );
public void removeTreeModelListener(TreeModelListener listener) {
if ( listener != null ) {
listenerList.removeElement( listener );
// Note: Since XML works with 1.1, this example uses Vector.
// If coding for 1.2 or later, though, I'd use this instead:
// private List listenerList = new LinkedList();
// The operations on the List are then add(), remove() and
// iteration, via:
// Iterator it = listenerList.iterator();
// while ( it.hasNext() ) {
// TreeModelListener listener = (TreeModelListener) it.next();
* Invoke these methods to inform listeners of changes.
* (Not needed for this example.)
* Methods taken from TreeModelSupport class described at
* http://java.sun.com/products/jfc/tsc/articles/jtree/index.html
* That architecture (produced by Tom Santos and Steve Wilson)
* is more elegant. I just hacked 'em in here so they are
* immediately at hand.
public void fireTreeNodesChanged( TreeModelEvent e ) {
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() ) {
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeNodesChanged( e );
public void fireTreeNodesInserted( TreeModelEvent e ) {
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() ) {
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeNodesInserted( e );
public void fireTreeNodesRemoved( TreeModelEvent e ) {
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() ) {
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeNodesRemoved( e );
public void fireTreeStructureChanged( TreeModelEvent e ) {
Enumeration listeners = listenerList.elements();
while ( listeners.hasMoreElements() ) {
TreeModelListener listener =
(TreeModelListener) listeners.nextElement();
listener.treeStructureChanged( e );
}DocumentBuilderFactory can be configured to ignore white space.
http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/parsers/DocumentBuilderFactory.html#setIgnoringElementContentWhitespace(boolean) -
sir i have seen that java 1.6 mustang version is supporrting java script
if it is so please any one can help me on how to make my JEditorPane
to support java script
not only to jEditorPane but to any other swings component
i tried in all ways please can any one give me this helpHello Farhan,
The OP stated that there is no condition on the process. In this case, I believe only 'SUBMIT' will cause the process to be fired.
"you can put anything in the string of the doSubmit."Well, you can do that, but it will have an effect only if you are using the REQUEST variable to condition a process. Otherwise, nothing will happen, and you want even receive an error message, because no error actually exist (as I believe happened with the OP case).
Regards,
Arie.
Maybe you are looking for
-
MSKA - Stock in Quality and Unrestricted both
Dear Experts, Please help to solve below problem: After UD 321 done and stock moved to Unrestricted Stock. At time of UD Batch Status was Restricted, later it has been done Unrestricted thru MSC2N (342 movement). But in MSKA table, stock is showing a
-
I have had off-and-on problems with "rendezvous" or "bonjour" communication with my HP 5740 using Tiger AND with Panther, which have usually been resolved by my restarting of my iBook G4 and/or my Airport Extreme. However, now (with Tiger) I seem to
-
Hi there! I can´t update my software, it starts to download and everything but when it is supposed to start the update I only get an error message. The update is to the 12.1 version of the software and with a size of 67 MB. The error message that I g
-
Ever since CS3 I've found that when I copy something and subsequently paste the item, it pastes unselected. I have to undo the process and paste again for it to be selected. On rare occasions I even have to do this more than once before it pastes in
-
Error Downloading Plugin for Swing Applet
Dear Fellows! i am using following Java Script in HTML to download Java Plugin for Swing Applet. <b>But</b> During download and installation it gives the error that the file is corrupted try to download again...., I have checked it on more than one P