You should be able to do that, but I agree that it is probably better not to.

On Mar 3, 2011, at 2:38 PM, Daniel Ziltener wrote:

> I think the problem was that I included both the Application interface and 
> the Bindable interface which led to a behaviour that's not expected by a 
> normal Pivot user... Anyway I think it's better if I do that separately.
> 
> 2011/3/3 Greg Brown <[email protected]>
> What is the stack trace of the exception?
> 
> 
> On Mar 3, 2011, at 10:56 AM, Daniel Ziltener wrote:
> 
>> Now I'm getting an IllegalArgumentException claiming that the "location is 
>> null". The definition of the MainWindow tag is now:
>> 
>> <?xml version="1.0" encoding="UTF-8"?>
>> <ui:MainWindow title="SemanticNotes" maximized="true"
>>     xmlns:bxml="http://pivot.apache.org/bxml";
>>     xmlns:ui="ch.lyrion.semanticnotes.desktop.ui"
>>     xmlns="org.apache.pivot.wtk">
>>         <bxml:define>
>>             <MenuBar xmlns:content="org.apache.pivot.wtk.content"
>>             bxml:id="menuBar">
>>                 <MenuBar.Item buttonData="Testmenu">
>>                     <Menu.Section>
>>                         <Menu.Item>
>>                             <buttonData>
>>                                 <content:MenuItemData text="New" 
>> keyboardShortcut="CMD-N"/>
>>                             </buttonData>
>>                         </Menu.Item>
>>                     </Menu.Section>
>>                 </MenuBar.Item>
>>             </MenuBar>
>>         </bxml:define>
>> 
>>     <Panel>
>>         <bxml:include src="BookPanel.bxml" />
>>     </Panel>
>> </ui:MainWindow>
>> 
>> 2011/3/3 Greg Brown <[email protected]>
>> Try changing it to something like this:
>> 
>> <bar:MainWindow title="SemanticNotes" maximized="true" 
>> xmlns:bxml="http://pivot.apache.org/bxml"; 
>>     xmlns:foo="com.foo.bar" xmlns="org.apache.pivot.wtk">
>> 
>> replacing "foo" and "com.foo.bar" with your preferred namespace prefix and 
>> the name of the package containing MainWindow. As written, you are simply 
>> creating an instance of org.apache.pivot.wtk.Window, which is probably not 
>> what you want.
>> 
>> Also, if you don't want to set the menu bar using a <menuBar> element, you 
>> should probably wrap the <MenuBar> in a <bxml:define> block. Otherwise, it 
>> will be set as the Window's content, then replaced by the Panel when that 
>> element is processed.
>> 
>> G
>> 
>> On Mar 3, 2011, at 10:34 AM, Daniel Ziltener wrote:
>> 
>>> No, it isn't a typo. But I changed it to MainWindow, now. But it doesn't 
>>> change anything.
>>> I did assign an id to the menuBar: "<MenuBar 
>>> xmlns:content="org.apache.pivot.wtk.content" bxml:id="menuBar">".
>>> As I now found out, "initialize" never gets called. So I moved the code 
>>> "setMenu" into the startup method. That doesn't work, too. And I know why: 
>>> The menuBar instance doesn't get assigned to my menuBar variable.
>>> 
>>> 
>>> 2011/3/3 Greg Brown <[email protected]>
>>> The root element in your example is Window, not MainWindow - is that a typo?
>>> 
>>> Couple other questions:
>>> 1) Why call setMenu() manually? Why not just declare the menu in BXML?
>>> 
>>> 2) Is it possible that you did not assign an ID to your menu bar so that 
>>> your menuBar member variable is null when initialize() is called?
>>> 
>>> 
>>> On Mar 3, 2011, at 10:19 AM, Daniel Ziltener wrote:
>>> 
>>>> Hi all,
>>>> It's me again... I'm trying to add a MenuBar to a window I created. So I 
>>>> have a class MainWindow and a corresponding MainWindow.bxml.
>>>> The MainWindow extends Frame and implements Application and Bindable and 
>>>> is essentially built like the "Menu Bars" sample on the pivot page, except 
>>>> that I manually add the MenuBar:
>>>> I have a "@BXML MenuBar menuBar = null" which gets injected and then I use 
>>>> "this.setMenuBar(menuBar)" in the initialize-Method to add the MenuBar to 
>>>> the window. The problem is: There is no menubar displayed. I just keep 
>>>> getting a window without a menubar.
>>>> My BXML-File is quite short, so I include it:
>>>> 
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <Window title="SemanticNotes" maximized="true" 
>>>> xmlns:bxml="http://pivot.apache.org/bxml"; xmlns="org.apache.pivot.wtk">
>>>>       <MenuBar xmlns:content="org.apache.pivot.wtk.content" 
>>>> bxml:id="menuBar">
>>>>         <MenuBar.Item buttonData="Testmenu">
>>>>           <Menu.Section>
>>>>             <Menu.Item>
>>>>              <buttonData>
>>>>                <content:MenuItemData text="New" keyboardShortcut="CMD-N"/>
>>>>              </buttonData>
>>>>            </Menu.Item>
>>>>          </Menu.Section>
>>>>       </MenuBar.Item>
>>>>     </MenuBar>
>>>> 
>>>>     <Panel>
>>>>       <bxml:include src="BookPanel.bxml" />
>>>>     </Panel>
>>>> </Window>
>>>> 
>>>> What's wrong with that?
>>> 
>>> 
>> 
>> 
> 
> 

Reply via email to