Compile error with action listener, ioexception
Hello, i have a (very basic) swing class which (basically) starts the whole program going as soon as you press a button.
Now somewhere down in the program, i have some file handling, so java makes you write 'throws IOException" all the way through your code.
Now i tried to do that in my swing class but i get the following compile error:
"BaseGui.java": Error #: 463 : method actionPerformed(java.awt.event.ActionEvent) in class BaseGui cannot implement method actionPerformed(java.awt.event.ActionEvent) in interface java.awt.event.ActionListener, implemented method does not throw java.io.IOException at line 31, column 15
I tried changing the "throws IOException" for some trying and catching, but to no avail. Any ideas what the problem could be?
never mind, i figured this one out.
Thanks anyway.
Similar Messages
-
Custom button with action listener - will not invoke action listener
Hi
For whatever reason, I cannot find a concise example of a simple custom component that can invoke an action listener. The tutorials I've read so far either ignore this fundamental topic or only make the slightest make reference to it.
The best I have come up with - in terms of a simple prototype is below... but, the action listener is never invoked.... Can someone tell me what I am missing (full code below). Hopefully, what is missing or incorrect will be obvious to you JSF experts out there.
Thanks for any help!!
-f
tld
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>0.01</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>jsfcustomcomponent</short-name>
<uri>http://jsfcustomcomponent/</uri>
<description><![CDATA[jsf custom component tags]]> </description>
<tag>
<name>specialBtnTag</name>
<tag-class>jsfcustomcomponent.SpecialBtnTag</tag-class>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<description><![CDATA[button value]]></description>
</attribute>
<attribute>
<name>actionListener</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<description><![CDATA[action listener]]> </description>
</attribute>
</tag>
</taglib>
SpecialBtnComponent
package jsfcustomcomponent;
import javax.faces.component.*;
import javax.faces.context.*;
import javax.faces.el.*;
import javax.faces.event.*;
public class SpecialBtnComponent
extends UIComponentBase implements ActionSource
public static final String COMPONENT_TYPE = "SpecialBtnComponent";
public static final String RENDERER_TYPE = "SpecialBtnRenderer";
public String getFamily()
return COMPONENT_TYPE;
public SpecialBtnComponent()
super();
setRendererType(SpecialBtnComponent.RENDERER_TYPE);
private String value;
public void setValue(String value, FacesContext facesContext)
this.value = value;
public String getValue()
if (null != value)
return value;
ValueBinding _vb = getValueBinding("value");
if (_vb != null)
return (String) _vb.getValue(getFacesContext());
else
return null;
private MethodBinding action = null;
public MethodBinding getAction()
return action;
public void setAction(MethodBinding methodBinding)
this.action = action;
private MethodBinding actionListener = null;
public MethodBinding getActionListener()
return (this.actionListener);
public void setActionListener(MethodBinding methodBinding)
this.actionListener = actionListener;
public boolean isImmediate()
return false;
public void setImmediate(boolean _boolean)
//this.immediate = immediate;
public void addActionListener(ActionListener actionListener)
addFacesListener(actionListener);
public ActionListener[] getActionListeners()
return (ActionListener[]) getFacesListeners(ActionListener.class);
public void removeActionListener(ActionListener actionListener)
removeFacesListener(actionListener);
public Object saveState(FacesContext context)
Object values[] = new Object[5];
values[0] = super.saveState(context);
values[1] = value;
values[2] = saveAttachedState(context, action);
values[3] = saveAttachedState(context, actionListener);
return ( (Object) (values));
public void restoreState(FacesContext context, Object state)
Object values[] = (Object[]) state;
super.restoreState(context, values[0]);
value = (String) values[1];
action = (MethodBinding) restoreAttachedState(context, values[2]);
actionListener = (MethodBinding) restoreAttachedState(context, values[3]);
public void broadcast(FacesEvent event) throws AbortProcessingException
super.broadcast(event);
if (event instanceof ActionEvent)
FacesContext context = getFacesContext();
MethodBinding mb = getActionListener();
if (mb != null)
mb.invoke(context, new Object[]
{event});
ActionListener listener = context.getApplication().getActionListener();
if (listener != null)
listener.processAction( (ActionEvent) event);
public void queueEvent(FacesEvent e)
if (e instanceof ActionEvent)
if (isImmediate())
e.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
else
e.setPhaseId(PhaseId.INVOKE_APPLICATION);
super.queueEvent(e);
SpecialBtnRenderer
package jsfcustomcomponent;
import java.util.*;
import javax.faces.component.*;
import javax.faces.context.*;
import javax.faces.event.*;
import javax.faces.render.*;
public class SpecialBtnRenderer
extends Renderer
String value;
public SpecialBtnRenderer()
public void decode(FacesContext context, UIComponent component)
Map requestMap = context.getExternalContext().getRequestParameterMap();
String clientId = component.getClientId(context);
SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
String value = (String) requestMap.get(clientId);
if (null != value)
specialBtnComponent.setValue(value, context);
ActionEvent actionEvent = new ActionEvent(specialBtnComponent);
specialBtnComponent.queueEvent(actionEvent);
public void encodeEnd(FacesContext context, UIComponent component) throws java.io.IOException
SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
ResponseWriter writer = context.getResponseWriter();
String clientId = component.getClientId(context);
value = (String) component.getAttributes().get("value");
if (value == null)
value = "defaultValue";
buildSpecialBtn(writer, value, clientId, specialBtnComponent);
private void buildSpecialBtn(ResponseWriter writer, String value, String clientId, SpecialBtnComponent component) throws java.io.IOException
writer.startElement("table", component);
writer.startElement("tbody", component);
writer.startElement("tr", component);
writer.startElement("td", component);
value = String.valueOf(value);
writer.startElement("input", component);
writer.writeAttribute("type", "submit", null);
writer.writeAttribute("name", clientId, "clientId");
writer.writeAttribute("value", value, null);
writer.endElement("input");
writer.endElement("td");
writer.endElement("tr");
writer.endElement("tbody");
writer.endElement("table");
SpecialBtnTag
package jsfcustomcomponent;
import javax.faces.component.*;
import javax.faces.el.*;
import javax.faces.webapp.*;
import com.sun.faces.util.*;
public class SpecialBtnTag
extends UIComponentTag
public String value = null;
public String actionListener = null;
public String getComponentType()
return SpecialBtnComponent.COMPONENT_TYPE;
public String getRendererType()
return SpecialBtnComponent.RENDERER_TYPE;
protected void setProperties(UIComponent component)
super.setProperties(component);
if (! (component instanceof SpecialBtnComponent))
throw new IllegalStateException("Component " + component.toString() +
" not expected type. Expected: jsfcustomcomponent.SpecialBtnComponent. Perhaps you�re missing a tag?");
SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
if (value != null)
if (isValueReference(value))
ValueBinding vb = Util.getValueBinding(value);
specialBtnComponent.setValueBinding("value", vb);
else
throw new IllegalStateException("The value for �value� must be a ValueBinding.");
if (actionListener != null)
if (isValueReference(actionListener))
ValueBinding vb = Util.getValueBinding(actionListener);
specialBtnComponent.setValueBinding("actionListener", vb);
else
throw new IllegalStateException("The value for �actionListener� must be a ValueBinding.");
public void release()
super.release();
value = null;
actionListener = null;
public void setValue(String value)
this.value = value;
public String getValue()
return this.value;
public void setActionListener(String actionListener)
this.actionListener = actionListener;
public String getActionListener()
return this.actionListener;
jsp1.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@taglib uri="http://jsfcustomcomponent/" prefix="j"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<link rel="stylesheet" type="text/css" href="./stylesheet.css" title="Style">
</head>
<body>
<f:view>
<h:form id="form01">
<h:outputText value="test special button with action listener"/>
<j:specialBtnTag value="#{specialBtnBacking.specialBtnValue}" actionListener="#{specialBtnBacking.specialBtnActionListener}"/>
<h:messages/>
<h:outputText value="#{specialBtnBacking.outcome}"/>
</h:form>
</f:view>
</body>
</html>
SpecialBtnBacking
package specialbtn;
import javax.faces.context.*;
import javax.faces.event.*;
public class SpecialBtnBacking
private FacesContext context;
public SpecialBtnBacking()
this.setSpecialBtnValue("Special Button with action listener");
private String specialBtnValue;
public String getSpecialBtnValue()
return this.specialBtnValue;
public void setSpecialBtnValue(String specialBtnValue)
this.specialBtnValue = specialBtnValue;
private String outcome="actionlistener NOT invoked: click specialBtn above to test";
public String getOutcome()
return outcome;
public void setOutcome(String outcome)
this.outcome = outcome;
public void specialBtnActionListener(ActionEvent evt)
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
this.outcome="***action listener invoked!!!***";
faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<managed-bean>
<managed-bean-name>specialBtnBacking</managed-bean-name>
<managed-bean-class>specialbtn.SpecialBtnBacking</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<component>
<component-type>SpecialBtnComponent</component-type>
<component-class>jsfcustomcomponent.SpecialBtnComponent</component-class>
<component-extension>
<renderer-type>SpecialBtnRenderer</renderer-type>
</component-extension>
</component>
<render-kit>
<renderer>
<component-family>SpecialBtnComponent</component-family>
<renderer-type>SpecialBtnRenderer</renderer-type>
<renderer-class>jsfcustomcomponent.SpecialBtnRenderer</renderer-class>
</renderer>
</render-kit>
</faces-config>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>pagerWEB</display-name>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<jsp-config>
<taglib>
<taglib-uri>http://jsfcustomcomponent/</taglib-uri>
<taglib-location>/WEB-INF/jsfcustomcomponent.tld</taglib-location>
</taglib>
</jsp-config>
<servlet>
<description>Added by JBuilder to compile JSPs with debug info</description>
<servlet-name>debugjsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>classdebuginfo</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>debugjsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
</web-app>got it working....
The changes were:
in "SpecialBtnRenderer"...
--new--
mb.invoke(context, new Object[1]);
--old--
mb.invoke(context, new Object[0]);
in "SpecialBtnTag"...
--new--
import javax.faces.event.ActionEvent;
--new--
MethodBinding mb = FacesContext.getCurrentInstance().getApplication().createMethodBinding(specialBtnListener, new Class[]{ActionEvent.class});
--old--
MethodBinding mb = FacesContext.getCurrentInstance().getApplication().createMethodBinding(specialBtnListener, null);
-Below is the entire application, again -- for those (like myself) who need concrete examples...
I hope this helps someone else! --f
jsp1.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@taglib uri="http://jsfcustomcomponent/" prefix="j"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<link rel="stylesheet" type="text/css" href="./stylesheet.css" title="Style">
</head>
<body>
<f:view>
<h:messages/>
<h:form id="form01">
<h:outputText value="test special button with action listener"/>
<j:specialBtnTag value="#{specialBtnBacking.specialBtnValue}" specialBtnListener="#{specialBtnBacking.specialBtnActionListener}"/>
<h:outputText value="#{specialBtnBacking.outcome}"/>
</h:form>
</f:view>
</body>
</html>
SpecialBtnBacking
package specialbtn;
import javax.faces.context.*;
import javax.faces.event.*;
public class SpecialBtnBacking
private FacesContext context;
public SpecialBtnBacking()
this.setSpecialBtnValue("Special Button with action listener");
private String specialBtnValue;
public String getSpecialBtnValue()
return this.specialBtnValue;
public void setSpecialBtnValue(String specialBtnValue)
this.specialBtnValue = specialBtnValue;
private String outcome = "actionlistener NOT invoked: click specialBtn above to test";
public String getOutcome()
return outcome;
public void setOutcome(String outcome)
this.outcome = outcome;
public void specialBtnActionListener(ActionEvent evt)
System.out.println("\n\n");
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n");
this.outcome = "***action listener invoked!!!***";
jsfcustomcomponent.tld
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>0.01</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>jsfcustomcomponent</short-name>
<uri>http://jsfcustomcomponent/</uri>
<description><![CDATA[jsf custom component tags]]> </description>
<tag>
<name>specialBtnTag</name>
<tag-class>jsfcustomcomponent.SpecialBtnTag</tag-class>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<description><![CDATA[button value]]></description>
</attribute>
<attribute>
<name>specialBtnListener</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<description><![CDATA[action listener]]> </description>
</attribute>
</tag>
</taglib>
faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<managed-bean>
<managed-bean-name>specialBtnBacking</managed-bean-name>
<managed-bean-class>specialbtn.SpecialBtnBacking</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<component>
<component-type>SpecialBtnComponent</component-type>
<component-class>jsfcustomcomponent.SpecialBtnComponent</component-class>
<component-extension>
<renderer-type>SpecialBtnRenderer</renderer-type>
</component-extension>
</component>
<render-kit>
<renderer>
<component-family>SpecialBtnComponent</component-family>
<renderer-type>SpecialBtnRenderer</renderer-type>
<renderer-class>jsfcustomcomponent.SpecialBtnRenderer</renderer-class>
</renderer>
</render-kit>
</faces-config>
SpecialBtnComponent.java
package jsfcustomcomponent;
import javax.faces.component.*;
import javax.faces.context.*;
import javax.faces.el.*;
import javax.faces.event.*;
public class SpecialBtnComponent
extends UIComponentBase implements ActionSource
public static final String COMPONENT_TYPE = "SpecialBtnComponent";
public static final String RENDERER_TYPE = "SpecialBtnRenderer";
public String getFamily()
return COMPONENT_TYPE;
public SpecialBtnComponent()
super();
setRendererType(SpecialBtnComponent.RENDERER_TYPE);
private String value;
public void setValue(String value, FacesContext facesContext)
this.value = value;
public String getValue()
if (null != this.value)
return this.value;
ValueBinding _vb = getValueBinding("value");
if (_vb != null)
return (String) _vb.getValue(getFacesContext());
else
return null;
private MethodBinding specialBtnListener = null;
public MethodBinding getActionListener()
return (this.specialBtnListener);
public void setActionListener(MethodBinding actionListener)
this.specialBtnListener = actionListener;
public Object saveState(FacesContext context)
Object values[] = new Object[3];
values[0] = super.saveState(context);
values[1] = saveAttachedState(context, this.specialBtnListener);
values[2] = this.value;
return (values);
public void restoreState(FacesContext context, Object state)
Object values[] = (Object[]) state;
super.restoreState(context, values[0]);
this.specialBtnListener = (MethodBinding) restoreAttachedState(context, values[1]);
this.value = (String) restoreAttachedState(context, values[2]);
public void broadcast(FacesEvent event) throws AbortProcessingException
super.broadcast(event);
if (event instanceof ActionEvent)
FacesContext context = getFacesContext();
MethodBinding mb = this.getActionListener();
if (mb != null)
try
mb.invoke(context, new Object[]
{event});
catch (EvaluationException ex)
System.out.println("SpecialBtnComponent/broadcast(FacesEvent event)...EvaluationException encountered - ex.getMessage()=" + ex.getMessage());
ex.printStackTrace();
ActionListener actionListener = context.getApplication().getActionListener();
if (actionListener != null)
actionListener.processAction( (ActionEvent) event);
public void queueEvent(FacesEvent e)
if (e instanceof ActionEvent)
e.setPhaseId(PhaseId.INVOKE_APPLICATION);
super.queueEvent(e);
public MethodBinding getAction()
return null;
public void setAction(MethodBinding methodBinding)
public boolean isImmediate()
return false;
public void setImmediate(boolean _boolean)
public void addActionListener(ActionListener actionListener)
addFacesListener(actionListener);
public ActionListener[] getActionListeners()
return (ActionListener[]) getFacesListeners(ActionListener.class);
public void removeActionListener(ActionListener actionListener)
removeFacesListener(actionListener);
SpecialBtnTag.java
package jsfcustomcomponent;
import javax.faces.component.*;
import javax.faces.el.*;
import javax.faces.webapp.*;
import com.sun.faces.util.*;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
public class SpecialBtnTag
extends UIComponentTag
public String value = null;
public String specialBtnListener = null;
private SpecialBtnComponent specialBtnComponent;
public SpecialBtnTag()
super();
public String getComponentType()
return SpecialBtnComponent.COMPONENT_TYPE;
public String getRendererType()
return SpecialBtnComponent.RENDERER_TYPE;
protected void setProperties(UIComponent component)
super.setProperties(component);
if (! (component instanceof SpecialBtnComponent))
throw new IllegalStateException("Component " + component.toString() +
" not expected type. Expected: jsfcustomcomponent.SpecialBtnComponent. Perhaps you�re missing a tag?");
specialBtnComponent = (SpecialBtnComponent) component;
if (value != null)
if (isValueReference(value))
ValueBinding vb = Util.getValueBinding(value);
specialBtnComponent.setValueBinding("value", vb);
else
throw new IllegalStateException("The value for �value� must be a ValueBinding.");
if (specialBtnListener != null)
if (isValueReference(specialBtnListener))
MethodBinding mb = FacesContext.getCurrentInstance().getApplication().createMethodBinding(specialBtnListener, new Class[]{ActionEvent.class});
( (SpecialBtnComponent) component).setActionListener(mb);
else
MethodBinding mb = Util.createConstantMethodBinding(specialBtnListener);
( (SpecialBtnComponent) component).setActionListener(mb);
public void release()
super.release();
value = null;
specialBtnListener = null;
public void setValue(String value)
this.value = value;
public String getValue()
return this.value;
public void setSpecialBtnListener(String specialBtnListener)
this.specialBtnListener = specialBtnListener;
public String getSpecialBtnListener()
return this.specialBtnListener;
SpecialBtnRenderer
package jsfcustomcomponent;
import java.util.*;
import javax.faces.component.*;
import javax.faces.context.*;
import javax.faces.event.*;
import javax.faces.render.*;
import javax.faces.el.MethodBinding;
import javax.faces.el.*;
public class SpecialBtnRenderer
extends Renderer
String value;
public SpecialBtnRenderer()
super();
public void decode(FacesContext context, UIComponent component)
try
Map requestMap = context.getExternalContext().getRequestParameterMap();
String clientId = component.getClientId(context);
SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
String value = (String) requestMap.get(clientId);
if (null != value)
specialBtnComponent.setValue(value, context);
MethodBinding mb = specialBtnComponent.getActionListener();
if (mb != null)
System.out.println("SpecialBtnRenderer/decode...mb.getExpressionString()=" + mb.getExpressionString());
//mb.invoke(context, new Object[0]);
mb.invoke(context, new Object[1]);
ActionEvent actionEvent = new ActionEvent(specialBtnComponent);
specialBtnComponent.queueEvent(actionEvent);
catch (EvaluationException ex)
ex.printStackTrace();
public void encodeEnd(FacesContext context, UIComponent component) throws java.io.IOException
SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
ResponseWriter writer = context.getResponseWriter();
String clientId = component.getClientId(context);
value = (String) component.getAttributes().get("value");
if (value == null)
value = "defaultValue";
buildSpecialBtn(writer, value, clientId, specialBtnComponent);
private void buildSpecialBtn(ResponseWriter writer, String value, String clientId, SpecialBtnComponent component) throws java.io.IOException
writer.startElement("table", component);
writer.startElement("tbody", component);
writer.startElement("tr", component);
writer.startElement("td", component);
value = String.valueOf(value);
writer.startElement("input", component);
writer.writeAttribute("type", "submit", null);
writer.writeAttribute("name", clientId, "clientId");
writer.writeAttribute("value", value, null);
writer.endElement("input");
writer.endElement("td");
writer.endElement("tr");
writer.endElement("tbody");
writer.endElement("table");
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>pagerWEB</display-name>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<jsp-config>
<taglib>
<taglib-uri>http://jsfcustomcomponent/</taglib-uri>
<taglib-location>/WEB-INF/jsfcustomcomponent.tld</taglib-location>
</taglib>
</jsp-config>
</web-app> -
Compilation errors with JDeveloper 10.1.2.2.0
Hello,
I want to change my environment work. First I worked with Eclipse (Europa, jre 1.6), I have no error with my following code source :
private List<String> lString;
and now I have a compilation error with the same code
' Error(43,14): <identifier> expected '
I think it's a compiler version problem but I'm not sure and I don't know how to change the compiler version.
If someone have any idea, I will be happy to receive response.
ThanksJDeveloper 10.1.2.2.0 doesn't support neither JDK 1.6 nor JDK 1.5.
--olaf -
hello
the problem in my code is that i defined
actionlistener for a button but it does not
do what it should do . it throws an error in the console
and i think my code is 100% correct what is the problem
please help me this is the codewith
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class Library extends JFrame implements ActionListener {
private JMenuBar jmb = new JMenuBar();
private JMenu books = new JMenu("Books",true);
private JMenu members = new JMenu("Members",true);
private JMenu loans = new JMenu("Loans",true);
private JMenuItem addNb = new JMenuItem("Add New Book");
private JMenuItem listB = new JMenuItem("List All Books");
private JMenuItem listAb = new JMenuItem("List Available Books");
private JMenuItem listBb = new JMenuItem("List Borrowed Books");
private JMenuItem addNm = new JMenuItem("Add New Member");
private JMenuItem removeM = new JMenuItem("Remove a Member");
private JMenuItem listAm = new JMenuItem("List All Members");
private JMenuItem loanB = new JMenuItem("Loan A Book");
private JMenuItem returnB = new JMenuItem("Return A Book");
private JTextField bNumber = new JTextField(14);
private JTextField bAuthor = new JTextField(14);
private JTextField bTitle = new JTextField(14);
private JTextField mId = new JTextField(14);
private JTextField mName = new JTextField(14);
private JTextField idB = new JTextField(14);
private JTextField nBToB = new JTextField(14);
private JTextField nBTor = new JTextField(14);
private JTextArea dispaly = new JTextArea();
private JButton oKb1 = new JButton("OK");
private JButton okb2 = new JButton("OK");
private JButton cloaseb = new JButton("Close");
private JButton oKm1 = new JButton("OK");
private JButton oKm2 = new JButton("OK");
private JButton cancelM = new JButton("Cancel");
private JButton oKm3 = new JButton("OK");
private JButton oKm4 = new JButton("OK");
private JButton cancelM2 = new JButton("Cancel");
private JButton oKl = new JButton("OK");
private JButton oKr = new JButton("OK");
private JButton yes = new JButton("Yes");
private JButton no = new JButton("No");
private JLabel bN = new JLabel("Book Number");
private JLabel bA = new JLabel("Book Author");
private JLabel bT = new JLabel("Book Title");
private JLabel iN = new JLabel("ID Number");
private JLabel mN = new JLabel("Member's Name");
private JLabel iNb = new JLabel("ID number of the borrower");
private JLabel nBb = new JLabel("Number of the books to borrow");
private JLabel nBr = new JLabel("Number of the books to return");
private JLabel mIdl = new JLabel("ID number of the stuednt");
private JPanel tempoIPanel= new JPanel(new FlowLayout());
Container cp;
JFrame mainFrame;
JInternalFrame tempoI;
Library() {
//LibraryClass lClass = new LibraryClass();/*
mainFrame = new JFrame();
mainFrame.setJMenuBar(jmb);
mainFrame.setSize(800,550);
mainFrame.getContentPane().setLayout(new FlowLayout());
jmb.add(books);
jmb.add(members);
jmb.add(loans);
books.add(addNb);
addNb.addActionListener(this);
books.add(listB);
listB.addActionListener(this);
books.add(listAb);
listAb.addActionListener(this);
books.add(listBb);
listBb.addActionListener(this);
members.add(addNm);
addNm.addActionListener(this);
members.add(removeM);
removeM.addActionListener(this);
members.add(listAm);
listAm.addActionListener(this);
loans.add(loanB);
loanB.addActionListener(this);
loans.add(returnB);
returnB.addActionListener(this);
//actions listeners
oKb1.addActionListener(this);
mainFrame.setVisible(true);
public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == addNb) {
tempoI = new JInternalFrame("Add new Book",true,true);
mainFrame.getContentPane().add(tempoI);
tempoI.getContentPane().setLayout(new FlowLayout());
tempoI.getContentPane().add(bN);
tempoI.getContentPane().add(bNumber);
tempoI.getContentPane().add(bA);
tempoI.getContentPane().add(bAuthor);
tempoI.getContentPane().add(bT);
tempoI.getContentPane().add(bTitle);
tempoI.getContentPane().add(oKb1);//add action listener here
tempoI.setVisible(true);
if(ae.getSource() == listB) {
//LibraryClass.listBooks();
if(ae.getSource() == listAb){}
if(ae.getSource() == listBb){}
if(ae.getSource() == addNm) {
tempoI = new JInternalFrame("Add new Member",true,true);
mainFrame.getContentPane().add(tempoI);
tempoI.getContentPane().setLayout(new FlowLayout());
tempoI.getContentPane().add(iN);
tempoI.getContentPane().add(mId);
tempoI.getContentPane().add(mN);
tempoI.getContentPane().add(mName);
tempoI.getContentPane().add(oKm1);//add action listener
tempoI.getContentPane().setSize(300,400);
tempoI.setVisible(true);
if(ae.getSource() == removeM) {
tempoI = new JInternalFrame("Rmove member",true,true);
mainFrame.getContentPane().add(tempoI);
tempoI.getContentPane().setLayout(new FlowLayout());
tempoI.getContentPane().add(mIdl);
tempoI.getContentPane().add(mId);
tempoI.getContentPane().add(oKm2);//add action listener
//LibraryClass.removeM(Double.parseDouble(mId.getText()));
tempoI.getContentPane().setSize(300,400);
tempoI.setVisible(true);
if(ae.getSource() == listAm) {
//LibraryClass.listMembers();
if(ae.getSource() == loanB) {
tempoI = new JInternalFrame("Loan book",true,true);
mainFrame.getContentPane().add(tempoI);
tempoI.getContentPane().setLayout(new FlowLayout());
tempoI.getContentPane().add(iNb);
tempoI.getContentPane().add(idB);
tempoI.getContentPane().add(nBb);
tempoI.getContentPane().add(nBToB);
tempoI.getContentPane().add(oKl);
//LibraryClass.borrowBook(Book bk,Member m);
tempoI.getContentPane().setSize(300,400);
tempoI.setVisible(true);
if(ae.getSource() == returnB) {
tempoI = new JInternalFrame("Return Book",true,true);
mainFrame.getContentPane().add(tempoI);
tempoI.getContentPane().setLayout(new FlowLayout());
tempoI.getContentPane().add(iNb);
tempoI.getContentPane().add(idB);
tempoI.getContentPane().add(nBr);
tempoI.getContentPane().add(nBTor);
tempoI.getContentPane().add(oKr);
tempoI.getContentPane().setSize(400,300);
tempoI.setVisible(true);
//Book.addBook(bNumber.getText(),bAuthor.getText(),bTitle.getText());
class ClubLibrarySystem {
public static void main(String[] args) {
new Library();
}hello
the problem in my code is that i defined
actionlistener for a button but it does not
do what it should do . it throws an error in the
consoleWhat error?
and i think my code is 100% correct what is theWell, but it isn't.
Have you tried using a debugger?
problem
please help me this is the codewith
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class Library extends JFrame implements
ActionListener {
private JMenuBar jmb = new JMenuBar();
private JMenu books = new JMenu("Books",true);
private JMenu members = new
JMenu("Members",true);
private JMenu loans = new
JMenu("Loans",true);
private JMenuItem addNb = new JMenuItem("Add New
Book");
private JMenuItem listB = new JMenuItem("List All
Books");
private JMenuItem listAb = new JMenuItem("List
Available Books");
private JMenuItem listBb = new JMenuItem("List
Borrowed Books");
private JMenuItem addNm = new JMenuItem("Add New
Member");
private JMenuItem removeM = new JMenuItem("Remove a
Member");
private JMenuItem listAm = new JMenuItem("List All
Members");
private JMenuItem loanB = new JMenuItem("Loan A
Book");
private JMenuItem returnB = new JMenuItem("Return A
Book");
private JTextField bNumber = new JTextField(14);
private JTextField bAuthor = new JTextField(14);
private JTextField bTitle = new JTextField(14);
private JTextField mId = new JTextField(14);
private JTextField mName = new JTextField(14);
private JTextField idB = new JTextField(14);
private JTextField nBToB = new JTextField(14);
private JTextField nBTor = new JTextField(14);
private JTextArea dispaly = new JTextArea();
private JButton oKb1 = new JButton("OK");
private JButton okb2 = new JButton("OK");
private JButton cloaseb = new JButton("Close");
private JButton oKm1 = new JButton("OK");
private JButton oKm2 = new JButton("OK");
private JButton cancelM = new JButton("Cancel");
private JButton oKm3 = new JButton("OK");
private JButton oKm4 = new JButton("OK");
private JButton cancelM2 = new JButton("Cancel");
private JButton oKl = new JButton("OK");
private JButton oKr = new JButton("OK");
private JButton yes = new JButton("Yes");
private JButton no = new JButton("No");
private JLabel bN = new JLabel("Book
Number");
private JLabel bA = new JLabel("Book
Author");
private JLabel bT = new JLabel("Book
Title");
private JLabel iN = new JLabel("ID Number");
private JLabel mN = new JLabel("Member's
Name");
private JLabel iNb = new JLabel("ID number of the
borrower");
private JLabel nBb = new JLabel("Number of the
books to borrow");
private JLabel nBr = new JLabel("Number of the
books to return");
private JLabel mIdl = new JLabel("ID number of
the stuednt");
private JPanel tempoIPanel= new JPanel(new
FlowLayout());
Container cp;
JFrame mainFrame;
JInternalFrame tempoI;
Library() {
//LibraryClass lClass = new LibraryClass();/*
mainFrame = new JFrame();
mainFrame.setJMenuBar(jmb);
mainFrame.setSize(800,550);
mainFrame.getContentPane().setLayout(new
FlowLayout());
jmb.add(books);
jmb.add(members);
jmb.add(loans);
books.add(addNb);
addNb.addActionListener(this);
books.add(listB);
listB.addActionListener(this);
books.add(listAb);
listAb.addActionListener(this);
books.add(listBb);
listBb.addActionListener(this);
members.add(addNm);
addNm.addActionListener(this);
members.add(removeM);
removeM.addActionListener(this);
members.add(listAm);
listAm.addActionListener(this);
loans.add(loanB);
loanB.addActionListener(this);
loans.add(returnB);
returnB.addActionListener(this);
//actions listeners
oKb1.addActionListener(this);
mainFrame.setVisible(true);
public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == addNb) {
tempoI = new JInternalFrame("Add new
w Book",true,true);
mainFrame.getContentPane().add(tempoI);
tempoI.getContentPane().setLayout(new
w FlowLayout());
tempoI.getContentPane().add(bN);
tempoI.getContentPane().add(bNumber);
tempoI.getContentPane().add(bA);
tempoI.getContentPane().add(bAuthor);
tempoI.getContentPane().add(bT);
tempoI.getContentPane().add(bTitle);
tempoI.getContentPane().add(oKb1);//add action
n listener here
tempoI.setVisible(true);
if(ae.getSource() == listB) {
//LibraryClass.listBooks();
if(ae.getSource() == listAb){}
if(ae.getSource() == listBb){}
if(ae.getSource() == addNm) {
tempoI = new JInternalFrame("Add new
w Member",true,true);
mainFrame.getContentPane().add(tempoI);
tempoI.getContentPane().setLayout(new
w FlowLayout());
tempoI.getContentPane().add(iN);
tempoI.getContentPane().add(mId);
tempoI.getContentPane().add(mN);
tempoI.getContentPane().add(mName);
tempoI.getContentPane().add(oKm1);//add action
n listener
tempoI.getContentPane().setSize(300,400);
tempoI.setVisible(true);
if(ae.getSource() == removeM) {
tempoI = new JInternalFrame("Rmove
e member",true,true);
mainFrame.getContentPane().add(tempoI);
tempoI.getContentPane().setLayout(new
w FlowLayout());
tempoI.getContentPane().add(mIdl);
tempoI.getContentPane().add(mId);
tempoI.getContentPane().add(oKm2);//add action
n listener
//LibraryClass.removeM(Double.parseDouble(mId.getText
tempoI.getContentPane().setSize(300,400);
tempoI.setVisible(true);
if(ae.getSource() == listAm) {
//LibraryClass.listMembers();
if(ae.getSource() == loanB) {
tempoI = new JInternalFrame("Loan book",true,true);
mainFrame.getContentPane().add(tempoI);
tempoI.getContentPane().setLayout(new
w FlowLayout());
tempoI.getContentPane().add(iNb);
tempoI.getContentPane().add(idB);
tempoI.getContentPane().add(nBb);
tempoI.getContentPane().add(nBToB);
tempoI.getContentPane().add(oKl);
//LibraryClass.borrowBook(Book bk,Member m);
tempoI.getContentPane().setSize(300,400);
tempoI.setVisible(true);
if(ae.getSource() == returnB) {
tempoI = new JInternalFrame("Return
n Book",true,true);
mainFrame.getContentPane().add(tempoI);
tempoI.getContentPane().setLayout(new
w FlowLayout());
tempoI.getContentPane().add(iNb);
tempoI.getContentPane().add(idB);
tempoI.getContentPane().add(nBr);
tempoI.getContentPane().add(nBTor);
tempoI.getContentPane().add(oKr);
tempoI.getContentPane().setSize(400,300);
tempoI.setVisible(true);
//Book.addBook(bNumber.getText(),bAuthor.getText(),bT
tle.getText());
class ClubLibrarySystem {
public static void main(String[] args) {
new Library(); -
[ SOLVED ] Compile Error with Java Fonts & IntelliJ
Hi All
I have now got a new problem when i compile a flex project. Yesterday inorder to get the IJ Interface font smoothing sorted, i had to add this line to my ~/.bashrc file
_JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
But now when i go to run a flex project, i get the following error message
Information:Using built-in compiler shell, up to 4 parallel threads
See compiler settings at File | Settings | Compiler | Flex Compiler page
Information:Starting Flex compiler:
/opt/java/jre/bin/java -Dapplication.home=/home/julian/SDK/flex_sdk_4.5.0.17855 -Xmx384m -Dsun.io.useCanonCaches=false -Duser.language=en -Duser.region=en -Xmx1024m -classpath /opt/idea-IU-98.311/plugins/flex/lib/flex-compiler.jar:/home/julian/SDK/flex_sdk_4.5.0.17855/lib/flex-compiler-oem.jar com.intellij.flex.compiler.FlexCompiler 48936
Information:Compilation completed with 2 errors and 0 warnings
Information:2 errors
Information:0 warnings
Error:Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
Error:java.net.SocketException: Socket closed
Error:java.net.ConnectException: Connection refused
Error: at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:218)
at com.intellij.flex.compiler.FlexCompiler.openSocket(FlexCompiler.java:35)
at com.intellij.flex.compiler.FlexCompiler.main(FlexCompiler.java:70)
Any suggestions, besides disabling the _JAVA_OPTION again ?
Many Thanks
Last edited by whitetimer (2010-11-14 17:24:11)-Dawt.useSystemAAFontSettings=on needs to be added to the end of file
idea.vmoptions -
"catch is unreachable" compiler error with java try/catch statement
I'm receiving a compiler error, "catch is unreachable", with the following code. I'm calling a method, SendMail(), which can throw two possible exceptions. I thought that the catch statements executed in order, and the first one that is caught will execute? Is their a change with J2SE 1.5 compiler? I don't want to use a generic Exception, because I want to handle the specific exceptions. Any suggestions how to fix? Thanks
try {
SendMail(....);
} catch (MessagingException e1) {
logger.fine(e1.toString());
} catch (AddressException e2) {
logger.fine(e2.toString());
public String SendMail(....) throws AddressException,
MessagingException {....I found the problem:
"A catch block handles exceptions that match its exception type (parameter) and exception types that are subclasses of its exception type (parameter). Only the first catch block that handles a particular exception type will execute, so the most specific exception type should come first. You may get a catch is unreachable syntax error if your catch blocks do not follow this order."
If I switch the order of the catch exceptions the compiler error goes away.
thanks -
Compiler bug in 10.1.3 EA1? get "Internal compilation error" with EnumSet
The code sample below generates "Error: Internal compilation error, terminated with a fatal exception" when doing make. It's a very simple example, it creates an EnumSet with one element and dumps it via the "toString()" method.
If I change the line:
"EnumSet set = EnumSet.of(Buttons.ONE);"
To:
"EnumSet set = EnumSet.allOf(c);"
It works fine. For some reason the "of" method of "EnumSet" crashes the compiler.
Any ideas?
========================================
package mypackage;
import java.util.EnumSet;
public class EnumDemo
enum Buttons { ONE, TWO, THREE }
public EnumDemo()
public void dump()
Class c = Buttons.class;
EnumSet set = EnumSet.of(Buttons.ONE);
System.out.println(set.toString());
public static void main(String[] args)
EnumDemo cls = new EnumDemo();
cls.dump();
==============================package com.esp.main;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JTree;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
public class TreeNavigator extends JTree {
private FormMain fm;
public TreeNavigatorNode selectedTreeNode;
public TreePath selectedTreePath;
public JTree thisTree;
public TreeNavigator(FormMain pFM) {
fm = pFM;
thisTree = this;
addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
selectedTreeNode = (TreeNavigatorNode)thisTree.getLastSelectedPathComponent();
if (selectedTreeNode == null) {
return;
selectedTreePath = e.getPath();
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if (e.getClickCount() == 1) {
doPopup(e.getX(), e.getY());
String nodeInternalFrameClassName = selectedTreeNode.getInternalFrameClassName();
String nodeNodeTypeDesc = selectedTreeNode.getNodeTypeDesc();
if ((selectedTreeNode != null) && (nodeNodeTypeDesc.equals("FORM") || nodeNodeTypeDesc.equals("GRAPH"))) {
fm.showInternalFrame(nodeInternalFrameClassName, fm, null);
} else if (e.getClickCount() == 1) {
TreePath path = thisTree.getClosestPathForLocation(e.getX(), e.getY());
thisTree.setSelectionPath(path);
public void doPopup(int x, int y) {
if ((selectedTreeNode != null) && selectedTreeNode.nodeTypeDesc.equals("MODULE")) {
fm.cm.sendString("Do Nothing");
} else {
fm.cm.sendString("Launch form");
setEditable(false);
setMaximumSize(new java.awt.Dimension(3200, 3200));
setPreferredSize(new java.awt.Dimension(800, 100));
setShowsRootHandles(false);
setLargeModel(false);
setRootVisible(false);
setDragEnabled(false);
DefaultTreeModel treeNavigatorModel = new DefaultTreeModel(fm.treeNavigatorNodeArray[fm.rootNode], true);
treeModel.addTreeModelListener(new NavigatorTreeModelListener());
setModel(treeNavigatorModel);
expandAll(this);
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
public void expandAll(JTree tree) {
int row = 0;
while (row < tree.getRowCount()) {
tree.expandRow(row);
row++;
private void jbInit() throws Exception {
this.setSize(new Dimension(286, 383));
TreeNavigatorCellRenderer renderer = new TreeNavigatorCellRenderer(fm);
this.setCellRenderer(renderer);
class NavigatorTreeModelListener implements TreeModelListener {
public void treeNodesChanged(TreeModelEvent e) {
TreeNavigatorNode node;
node = (TreeNavigatorNode)(e.getTreePath().getLastPathComponent());
* If the event lists children, then the changed
* node is the child of the node we've already
* gotten. Otherwise, the changed node and the
* specified node are the same.
try {
int index = e.getChildIndices()[0];
node = (TreeNavigatorNode)(node.getChildAt(index));
} catch (NullPointerException exc) {
public void treeNodesInserted(TreeModelEvent e) {
public void treeNodesRemoved(TreeModelEvent e) {
public void treeStructureChanged(TreeModelEvent e) {
} -
Compilation errors with boost 1.36
Hi,
My compiler
CC: Sun WorkShop 6 update 2 C++ 5.3 Patch 111685-08 2002/06/02
I am getting the followin*g errors when trying to compile
Error: Default arguments cannot be added in later declarations of the template function in the same scope.
"./boost/math/tools/precision.hpp", line 108: Error: Default arguments cannot be added in later declarations of the template function in the same scope.
"./boost/math/tools/precision.hpp", line 116: Error: Default arguments cannot be added in later declarations of the template function in the same scope.
"./boost/math/tools/precision.hpp", line 122: Error: Default arguments cannot be added in later declarations of the template function in the same scope.
"./boost/math/tools/precision.hpp", line 128: Error: Default arguments cannot be added in later declarations of the template function in the same scope.
"./boost/math/tools/precision.hpp", line 141: Error: Default arguments cannot be added in later declarations of the template function in the same scope.
"./boost/math/tools/precision.hpp", line 172: Error: Default arguments cannot be added in later declarations of the template function in the same scope.
I have done configuration as following
%> ./configure with-toolset=sun prefix=/u/jn/boost/boost_1_36_0
my usr-config.jam file looks as below
# Boost.Build Configuration
# Automatically generated by Boost configure
# Compiler configuration
using sun : 6 : /home/nfs/sollocal/beatlehome1/F6U2/SUNWspro/bin/CC : <stdlib>sun-stlport
<cxxflags>-library=stlport4 -m64 -xcode=pic32 -erroff=wvarhidemem,hidevf,hidevfinvb -errtag
s=yes <linkflags>-library=stlport4 -m64 ;
# Python configuration
using python : 2.6 : /usr/local ;
my Makefile
BJAM=./tools/jam/src/bin.solaris/bjam
BJAM_CONFIG= -sICU_PATH=/usr
prefix=/u/jnarayan/boost/boost_1_36_0
exec_prefix=$(prefix)
libdir=$(exec_prefix)/lib
includedir=$(prefix)/include
LIBS=
all: .dummy
@echo "$(BJAM) $(BJAM_CONFIG) --user-config=user-config.jam $(LIBS)"
@$(BJAM) $(BJAM_CONFIG) --user-config=user-config.jam $(LIBS) || \
echo "Not all Boost libraries built properly."
clean: .dummy
rm -rf bin.v2
distclean: clean
rm -rf Makefile config.log
check: .dummy
@cd status && ../$(BJAM) $(BJAM_CONFIG) --user-config=../user-config.jam || echo "S
ome Boost regression tests failed. This is normal for many compilers."
install: .dummy
@echo "$(BJAM) $(BJAM_CONFIG) address-model=64 user-config=user-config.jam pref
ix=$(prefix) exec-prefix=$(exec_prefix) libdir=$(libdir) --includedir=$(includedir) $(L
IBS) install"
@$(BJAM) $(BJAM_CONFIG) address-model=64 --user-config=user-config.jam --prefix=$(p
refix) --exec-prefix=$(exec_prefix) --libdir=$(libdir) --includedir=$(includedir) $(LIBS) i
nstall || echo "Not all Boost libraries built properly."
.dummy:
thanks in advance for your helpBOOST cannot be compiled with WS6u2.
The oldest compiler that can build BOOST is Sun Studio 11 (C++ 5.8).
You will have better luck with Sun Studio 12 (C++ 5.9). Both Studio 11 and Studio 12 are free.
Get Sun Studio 12 here:
[http://developers.sun.com/sunstudio/]
Sun Studio 12 requires Solaris 9, 10, or Open Solaris.
If you are running Solaris 8, get Sun Studio 11 instead:
[http://developers.sun.com/sunstudio/products/previous/11/index.jsp]
After installing the appropriate version of Sun Studio, get all current patches for it here:
[http://developers.sun.com/sunstudio/downloads/patches/index.jsp]
Then check Simon's blog for advice on building BOOST with Sun Studio 11 or 12.
[http://blogs.sun.com/sga/category/Boost] -
Compilation error with (amp) restriction specifier in C++ AMP
Hi,
[double post from :
original post ]
I'm using C++ AMP (I'm not that experienced with C++ and I'm new to AMP, so I have to stumble through this stuff) But I thought I had this code working, but now I'm getting the following error:
Error 1 error C3930: 'WRC_Raytracer::RaytracerRTC::RenderSceneWithAMP::<lambda_c13eb21eb34534d03d408733745bcf16>::operator ()' : no overloaded function has restriction specifiers that are compatible with the ambient
context 'Concurrency::_Parallel_for_impl'
Here is my parallel loop (cut down slightly to focus on the issue):
[code]
parallel_for(0, 720 * 576, 1, [w, cBuffer, pixelDataView](int i) restrict(amp)
// compute x and y for the given index
float x = (float)(i % w);
float y = (float)(i / w);
// convert color from {0,1}f to {0,255}b
int bInt, gInt, rInt;
bInt = (int) (min(x/719.f, 1) * 255);
gInt = (int) (min(y/575.f, 1) * 255);
rInt = (int) (min(0, 1) * 255);
// represent color data as (int)argb
int pixelAsInt = (255 << 24) + (rInt << 16) + (gInt << 8) + bInt;
// update pixelData element
pixelDataView[i] = pixelAsInt;
[/code]
Can anyone see what's wrong here ? As I said, I'm sure this was working yesterday, and I did something just before shutting down, and now it's not working.
Edit : I tried the parallel_for_each loop that I had started with. And that actually does work ...
parallel_for_each(pixelDataView.extent,[=](index<1> idx) restrict(amp)Hello Gavin, thank you for your question.
Note that parallel_for_each (more precisely, the overloads that accept extent arguments and take a restrict(amp) functional parameter) is the unique entry-point for C++ AMP execution. Other functions in the concurrency namespace, such as parallel_for,
are unrelated, and stem from a different technology (PPL). Since restrict(amp) is specific to C++ AMP, trying to use a restrict(amp) functional object in any context but that of C++ AMP execution, is not possible - hence the compiler error
you were seeing. Hopefully this turns out helpful for you. Also, congratulations for picking up C++ AMP, I hope you like it! Cheers! -
Compiler error with forte 6.2 - assertion failed in sp_interface.cc
I have a compilation error when compiling on my Ultra 10
using Forte 6.2 C compiler (5.3). Here's the line:
teds@enigma[195]% cc -xtarget=ultra3 -xarch=v8plusb -dalign -fns -fsimple=2 -ftrap=%none -xlibmil !!
cc -xtarget=ultra3 -xarch=v8plusb -dalign -fns -fsimple=2 -ftrap=%none -xlibmil -xO4 -DCMO_DEBUG_DETAIL -DUSE_DATACONN -c cmoisubs.c -o cmoisubs.o
cg: assertion failed in file ../src/ms_pipe/sp_interface.cc at line 689
cg: Internal error: constval annotation set on reg with multiple defs
cg: 1 errors
cc: cg failed for cmoisubs.c
teds@enigma[196]%
Does anyone have any ideas?
Thanks,
TedHi There,
Form the error message it seems like a bug in cg.
Try the follwoing option and see if the bug goes away.
-Qoption cg -O0 or use -Qms_pipe-off.
Please refer C user's guide for usage.
....jagruti
Developers Technical Support
Sun Microsystems, http://www.sun.com/developers/support -
Compilation Error with Solaris8
Hi ,
I am getting a queer compilation error when compiling a simple C++ program on
Solaris8 . The error does not occur with solaris7 . I have inclued the program
and the error message . Can you give me some tips to overcome this problem .
#include <iostream.h>
int main ( void)
cout << "hello world" ;
/*************COMPILATION ERRROS ***************/
"/usr/include/iso/wchar_iso.h", line 100: Error: Multiple declaration for mbstate_t.
"/opt/SUNWspro/SC5.0/include/CC/./iosfwd", line 51: Error: The name mbstate_t is ambiguous, std::mbstate_t and std::mbstate_t.
"/opt/SUNWspro/SC5.0/include/CC/./iosfwd", line 78: Error: The name mbstate_t is ambiguous, std::mbstate_t and std::mbstate_t.
"/opt/SUNWspro/SC5.0/include/CC/rw/iotraits", line 56: Error: The name mbstate_t is ambiguous, std::mbstate_t and std::mbstate_t.
4 Error(s) detected.
Regards,
vichuThanks! However, my sample code does not inclide iostream.
#include <string>
main() {
string s = "123asd";
exit(0);
and there is the output
hwang@jazz: /opt/SUNWspro/SC5.0/bin/CC test.C
"/usr/include/wchar_impl.h", line 24: Error: Multiple declaration for __mbstate_t.
"/usr/include/wchar.h", line 90: Error: Multiple declaration for mbstate_t.
"/opt/SUNWspro/SC5.0/include/CC/./iosfwd", line 37: Error: The name __mbstate_t is ambiguous,
__mbstate_t and __mbstate_t.
"/opt/SUNWspro/SC5.0/include/CC/./iosfwd", line 45: Error: Multiple declaration for mbstate_t.
"/opt/SUNWspro/SC5.0/include/CC/rw/iotraits", line 37: Error: The name __mbstate_t is ambiguou
s, __mbstate_t and __mbstate_t.
"/opt/SUNWspro/SC5.0/include/CC/rw/iotraits", line 57: Error: Multiple declaration for mbstate
_t.
"test.C", line 4: Error: string is not defined.
"test.C", line 4: Error: Cannot use const char* to initialize int.
8 Error(s) detected.
Any ideas?
Thanks again -
Compiler Error with simple vi using MatLab script nodes
While attempting to build a simple vi to test the capabilities of LabView's interface with MatLab, I received a compiler error message that said I should report the problem to National Instruments Tech Support. The error said, "reference to undefined label from: refPC=0x41C." I've attached the vi that created the error. I am using LabView 7.0 on a PC running Windows 98.
Attachments:
Compliererror.vi 11 KBI don't know if this will help your problem, but there is a fix for some problems with LabVIEW 7.0 and Matlab:
http://digital.ni.com/public.nsf/websearch/4475BC3CEB062C9586256D750058F14B?OpenDocument
Good luck,
-Jim -
I get the following compiler error when using the Java 5 SE enhanced for loop with a generic collection.
Code:
public static void main(String[] args)
List<Integer> l = new ArrayList<Integer>();
l.add(new Integer(1));
printCollection(l);
private static void printCollection(Collection<?> c)
for (Object e : c)
System.out.println(e);
Error on attempting to build:
"Error: Internal compilation error, terminated with a fatal exception"
And the following from ojcInternalError.log:
java.lang.NullPointerException
at oracle.ojc.compiler.EnhancedForStatement.resolveAndCheck(Statement.java:2204)
at oracle.ojc.compiler.StatementList.resolveAndCheck(Statement.java:4476)
at oracle.ojc.compiler.MethodSymbol.resolveMethod(Symbol.java:10822)
at oracle.ojc.compiler.RawClassSymbol.resolveMethodBodies(Symbol.java:6648)
at oracle.ojc.compiler.Parser.resolveMethodBodies(Parser.java:8316)
at oracle.ojc.compiler.Parser.parse(Parser.java:7823)
at oracle.ojc.compiler.Compiler.main_internal(Compiler.java:978)
at oracle.ojc.compiler.Compiler.main(Compiler.java:745)
at oracle.jdeveloper.compiler.Ojc.translate(Ojc.java:1486)
at oracle.jdeveloper.compiler.UnifiedBuildSystem$CompileThread.buildGraph(UnifiedBuildSystem.java:300)
at oracle.jdeveloper.compiler.UnifiedBuildSystem$CompileThread.buildProjectFiles(UnifiedBuildSystem.java:515)
at oracle.jdeveloper.compiler.UnifiedBuildSystem$CompileThread.buildAll(UnifiedBuildSystem.java:715)
at oracle.jdeveloper.compiler.UnifiedBuildSystem$CompileThread.run(UnifiedBuildSystem.java:893)Install the Service Update 1 patch for JDeveloper (using the help->check for updates), and let us know if this didn't solve the problem.
-
Compilation error with dataProvider attribute
My objective is to have a ComboBox itemEditor for a column in
a DataGrid. This
will get used in a number of places in our app, for example
to add an order
line to an order. We would want the ComboBox to be populated
with the list of
available products, and Flex goes most of the way to
providing that
functionality. But I get a compilation error on a line that I
would expect to
work. Here's the full sample:
quote:
<?xml version="1.0"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"
height="700" width="700"
creationComplete="onLoad()">
<mx:Script>
<![CDATA[
[Bindable]
public var myDP:Array = [
{label1:"P1", quantity:3},
{label1:"P2", quantity:3}
[Bindable]
public var products:Array = [ {label:"P1", data:1},
{label:"P2", data:2}, {label:"P3", data:3} ];
public function onLoad():void
ProductsRequest.send() ;
]]>
</mx:Script>
<mx:HTTPService id="ProductsRequest"
url="
http://localhost:3000/lists/productlist"
useProxy="false"/>
<mx:Component id="ProductCodeEditor">
<mx:ComboBox
dataProvider="{ProductsRequest.lastResult.products.product}"
labelField="name"/>
</mx:Component>
<mx:ComboBox
dataProvider="{ProductsRequest.lastResult.products.product}"
labelField="name"></mx:ComboBox>
<mx:DataGrid id="myDG" dataProvider="{myDP}"
variableRowHeight="true"
editable="true">
<mx:columns>
<mx:DataGridColumn dataField="label1" headerText="Product
Code" itemEditor="{ProductCodeEditor}"/>
<mx:DataGridColumn dataField="quantity"
headerText="Quantity"
editorDataField="value">
<mx:itemEditor>
<mx:Component>
<mx:NumericStepper stepSize="1" maximum="50"/>
</mx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</mx:Application>
I get a complation error on the following line
quote:
<mx:Component id="ProductCodeEditor">
-->> <mx:ComboBox
dataProvider="{ProductsRequest.lastResult.products.product}"
labelField="name"/>
</mx:Component>
The error message is "Access of undefined property
ProductsRequest"
However, the other <mx:ComboBox> definition compiles
and works fine. In
other words, in the sample code (shown again below) we have
two <mx:ComboBox>
definitions with the same dataProvider definition. The one on
line 33 compiles
and works, the other doesn't, and the only difference is that
one of them is
within a <mx:Component> declaration.
quote:
27 <mx:HTTPService id="ProductsRequest"
url="
http://localhost:3000/lists/productlist"
useProxy="false"/>
28
29 <mx:Component id="ProductCodeEditor">
30 <mx:ComboBox
dataProvider="{ProductsRequest.lastResult.products.product}"
labelField="name"/>
31 </mx:Component>
32
33 <mx:ComboBox
dataProvider="{ProductsRequest.lastResult.products.product}"
labelField="name"></mx:ComboBox>
I really can't believe that this behaviour is by design. If
it is, could
somebody tell me what this design is, and how I am supposed
to populate a
combobox with product codes in a grid?
Thanks,
Ed.Sorry, I see you are trying to do that. I am not yet familiar
with inline renderers.
However, I suspect a scope issue. I bet the renderer
component does not have access to the application scope, where the
dataService is declared.
This doc might help:
http://livedocs.macromedia.com/labs/1/flex20beta3/00000857.html
Tracy -
Compilation error with RWTValDlist T find() method
This code used to compile fine with SC 4.x C++ compiler. We are migrating to "Sun WorkShop 6 update 2 C++ 5.3 2001/05/15" and it is now generating the following compilation error:
===============================
cd generic/src; make -f generic.mk
/opt/SUNWspro/bin/CC -c -PIC -compat -library=rwtools7 -O2 -I. -I. -I../include -I/home/jm/sunos5.8/ib_service_3.4.3/include -I/opt/local/megen/include -I/opt/SUNWspro/WS6U2/include/CC -I../../interface/include -I../include -I. -I/home/jm/sunos5.8/acell_4.1/include -I/opt/local/access/home/include -I/home/jm/sunos5.8/acell_4.1/include/packetcpp -I/home/jm/sunos5.8/acell_4.1/include/ecl -I/home/jm/sunos5.8/acell_4.1/include/gels -I/home/jm/sunos5.8/acell_4.1/src/security/include -I/home/jm/sunos5.8/acell_4.1/include/sequencer -I/home/jm/sunos5.8/acell_4.1/include/gen -I/home/jm/sunos5.8/acell_4.1/include/recipeMgr -I/home/jm/sunos5.8/acell_4.1/include/EFEFeature -I/home/jm/sunos5.8/ib_service_3.4.3/include -I/opt/local/megen/include -I/opt/local/rv/include -I/opt/local/etk/include -I/opt/local/etk/include/tdl -DTCPIP=1 -D__SYSVR4 -DSHOP=1 -D_SOLARIS=1 -I/opt/local/std_comp/include ACEAlarmClock.C
"ACEAlarmClock.C", line 479: Error: Could not find a match for RWTValDlist<ACEObject*>::find(int(const ACEObject*&,void*), void**, ACEObject*).
1 Error(s) detected.
*** Error code 1
make: Fatal error: Command failed for target `ACEAlarmClock.o'
===============================
The header file in question is:
#include <rw/tvdlist.h>
class ACEAlarmClock : public ACEObject
// The public interface.
public:
ACEAlarmClock();
// Default constructor.
private:
static void alarmCallback(void *passAheadRef, ib_alarmid alarmId);
static RWTValDlist<ACEObject *> AlarmClocks;
and the source file in question is:
void
ACEAlarmClock::alarmCallback(void *passAheadRef, ib_alarmid alarmId)
ACEObject *object = 0; // returned by find()
if (AlarmClocks.find(findAlarmId, &alarmId, object))
ACEAlarmClock alarmClock = (ACEAlarmClock )object;
if (alarmClock)
AlarmClocks.remove(alarmClock);
alarmClock->isActive_ = FALSE;
alarmClock->onAlarm(passAheadRef, alarmId);
return;
Any help is highly appreciated. Thanks.
Cesar Saavedra
[email protected]The C++ Migration Guide that comes with the compiler explains in detail everything you to need to know about migrating from C++ 4.2 to C++ 5.3.
Use the "-compat" option on every CC command, compiling and linking. Any code that worked with C++ 4.2 will work the same way with C++ 5.3 in compat mode.
-compat=4 sets language and binary compatibility to that of the 4.x compilers. -compat=5 sets language and binary compatibility to ANSI/ISO standard mode. If the -compat option is not specified, -compat=5 is assumed.
- Rose
Maybe you are looking for
-
Mac Pro not reporting memory amount correctly - please help
Hi all, I have recently purchased an additonal 2 x 4GB Crucial DDR2 FB-DIMM 667Mhz sticks for my Mac Pro Dual Core Intel Xeon 2 x 2.66GHz computer. I have installed these correctly to Riser A 3+4 alongside 2 x 512MB Kingston sticks in Riser A 1+2, a
-
HELP! I am having trouble when I try to paste a snap shot into a Word document!
When I paste the picture into the Word document, the image is blurry. What can I do to keep this from happening?
-
Question about error message in SMTP log
Does anyone have any idea what this error message is in my log? I see it a couple of times a day. table hash:/etc/aliases(0,lock|fold_fix) has changed -- restarting Message was edited by: J Moore
-
Transfer of photos from Ipod to PC
I have transfered photos from my digital camera to the Ipod. Is it now possible to tranfer these photos from the Ipod to my PC. Can't see my photos on iTunes, just my music.
-
Have been on Mozilla for months. Lost it a few days ago and can't get back. Can't download because it says must close Firefox first. Cannot find open Mozilla Firefox.