You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Alexander Landsnes Keül <Al...@visma.no> on 2007/10/26 09:18:25 UTC

Issue with border

Hi,

 

We're looking into moving our presentation layer over to Wickets, and I'm creating a mockup of our current web interface to see how it works. So far I'm quite pleased, but I have an issue with borders.

 

I'm trying to create a navigation border similar to the Navomatic example on the wicket page, but I'm having a problem there. The error message is:

 

WicketMessage: Unable to find component with id 'personaliaPanel' in [MarkupContainer [Component id = _body, page = com.visma.HomePage, path = 0:tabPanel:panel:personaliaBorder:_body.Border$BorderBodyContainer, isVisible = true, isVersioned = true]]. This means that you declared wicket:id=personaliaPanel in your markup, but that you either did not add the component to your page at all, or that the hierarchy does not match.
[markup = file:/C:/javadev/wicket/workspaces/wicket/target/classes/com/visma/PersonData.html
<html xmlns:wicket>
<body>
      <wicket:panel>
      
      <center>
      <span wicket:id="personaliaBorder">
      <span wicket:id="personaliaPanel">personaliaForm goes here</span>
      <span wicket:id="skillsPanel">skillsPanel goes here</span>
      <span wicket:id="feedback">Feedback panel here</span>
      </span>
      </center>
      
      </wicket:panel>
</body>
</html>
  , index = 5, current = '<span wicket:id="personaliaPanel">' (line 7, column 2)]

 

This is in my PersonData.html file, but personaliaPanel is declared in PersonData.java. Works fine until I tuck in the PersonaliaBorder. Java and HTML file are as follows:

 

package com.visma;

 

import org.apache.wicket.markup.html.border.Border;

import org.apache.wicket.markup.html.border.BoxBorder;

 

 

/**

 * @author alexanderlk

 */

public class PersonaliaBorder extends Border

{

      private static final long serialVersionUID = 1L;

      

      public PersonaliaBorder( String id )

      {

            super( id );

            add( new BoxBorder("myBorder"));

      }

 

}

 

 

<html xmlns:wicket>

<body>

      <wicket:border>

      <span wicket:id="myBorder">

            <wicket:body/>

      </span>

      </wicket:border> 

</body>

</html>

  

 

This looks quite similar to the Navomatic example, just without the navigation part. I must be doing something wrong, but I can't quite figure out what it is.

 

The other thing I'm wondering about is if there's an easy way to just tell a component to be surrounded by a BoxBorder. Seems you have to use setComponent(..), but then you have to define a border with an html to go along with it. I just want to add a thin border around a panel or somesuch.

 

Regards,

 

Alexander