Setting-up a class of swing objects - how to?

I'm interested in creating a class that contains several swing objects. What is a good location to initialize the swing objects? I'd appreciate some options other than the constructor (events?), or why this is a good location? Also, as a secondary question, should I wrap the swing code in a swing thread or assume the caller will do this?
class manyJObjects extends javax.swing.JLayeredPane {
    javax.swing.JTextArea txtArea;
    manyJObjects(){
    //Ensure we are in a swing thread then call drawDisplay()
        if(javax.swing.SwingUtilities.isEventDispatchThread()){
            drawDisplay();
        } else {
            try {
                java.awt.EventQueue.invokeAndWait(new Runnable() {               
                public void run() {
                    drawDisplay();
            } catch (InterruptedException ie) {
            } catch (InvocationTargetException ite) {
    void drawDisplay(){
    //In the actual there were be more swing objects
        try{
            txtArea = new javax.swing.JTextArea();
            javax.swing.SpringLayout spring = new javax.swing.SpringLayout();
            this.setLayout(spring);
            this.add(txtArea);
            spring.putConstraint(SpringLayout.NORTH, txtArea, 0, SpringLayout.NORTH, this);
            spring.putConstraint(SpringLayout.EAST, txtArea, 0, SpringLayout.EAST, this);
            spring.putConstraint(SpringLayout.SOUTH, txtArea, 0, SpringLayout.SOUTH, this);
            spring.putConstraint(SpringLayout.WEST, txtArea, 0, SpringLayout.WEST, this);
        } catch(Exception e) {
}

It's perfectly fine to initialize Swing components in the constructor, even if the constructor is called in a non-EDT thread. As long as the components have not been realized (i.e. pack() or setVisible(true)) then it's safe to set them up in a dedicated non-EDT thread. However, after the components have been realized, that's when you should only access/modify them via the EDT.
public static int main(String[] args) {
     MyFrame frame = new MyFrame(); // Constructor can do anything it wants to the Swing components except call pack() or setVisible(true).
     frame.setVisible(true);
     // After this the frame and all child components have been "realized", so the Swing thread-safety rules apply now.
}

Similar Messages

  • How to access the parent class variable or object in java

    Hi Gurus,
    I encounter an issue when try to refer to parent class variable or object instance in java.
    The issue is when the child class reside in different location from the parent class as shown below.
    - ClassA and ClassB are reside in xxx.oracle.apps.inv.mo.server;
    - Derived is reside in xxx.oracle.apps.inv.mo.server.test;
    Let say ClassA and ClassB are the base / seeded class and can not be modified. How can i refer to the variable or object instance of ClassA and ClassB inside Derived class.
    package xxx.oracle.apps.inv.mo.server;
    public class ClassA {
        public int i=10;
    package xxx.oracle.apps.inv.mo.server;
    public class ClassB extends ClassA{
        int i=20;   
    package xxx.oracle.apps.inv.mo.server.test;
    import xxx.oracle.apps.inv.mo.server.ClassA;
    import xxx.oracle.apps.inv.mo.server.ClassB;
    public class Derived extends ClassB {
        int i=30;
        public Derived() {
           System.out.println(this.i);                  // this will print 30
           System.out.println(((ClassB)this).i);  // error, but this will print 20 if Derived class located in the same location as ClassB
           System.out.println(((ClassA)this).i);  // error, but this will print 20 if Derived class located in the same location as ClassA
        public static void main(String[] args) { 
            Derived d = new Derived(); 
    Many thanks in advance,
    Fendy

    Hi ,
    You cannot  access the controller attribute instead create an instance of the controller class and access the attribute in the set method
    OR create a static method X in the controller class and store the value in that method. and you can access the attribute by 
    Call method class=>X
    OR if the attribute is static you can access by classname=>attribute.
    Regards,
    Gangadhar.S
    Edited by: gangadhar rao on Mar 10, 2011 6:56 AM

  • How to set Where clause in the View Object of the MessageChoice ?

    Hi,
    How to set Where clause in the View Object of the
    MessageChoice ?
    Example:
    <bc4j:rootAppModuleDef name="EdEscolaCampusView1AppModule"
    definition="ed00050.Ed00050Module"
    releaseMode="stateful" >
    <bc4j:viewObjectDef name="EdEscolaCampusView1" >
    <bc4j:rowDef name="CreateEdEscolaCampusView1" autoCreate="true" >
    <bc4j:propertyKey name="key" />
    </bc4j:rowDef>
    </bc4j:viewObjectDef>
    <bc4j:viewObjectDef name="ListaTipLocalView1"
    rangeSize="9999">
    </bc4j:viewObjectDef>
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    messageChoice declaration:
    <bc4j:messageChoice name="SeqTipoLocalCampus"
    attrName="SeqTipoLocalCampus"
    prompt="Local do Campus">
    <contents>
    <bc4j:optionList attrName="SeqTipoBasico"
    textAttrName="NomTipoBasico"
    voName="ListaTipLocalView1"/>
    </contents>
    </bc4j:messageChoice>
    I would like set where clause of ViewObject, with dinamic parameters (using attribute1 = :1), before populate messageChoice.
    thanks...
    Danilo

    Hi Andy,
    I try set a where clause using the message:
    Set where Clause parameter using UIX , but my UIX Page have 2 messageChoice's of different ViewObject's, then I need implement this Java Class:
    //Nome da Package da Tela Detail
    package br.com.siadem.siaed.ed00050;
    // Importa as Bibliotecas necessárias
    import oracle.jbo.ViewObject;
    import oracle.jbo.ApplicationModule;
    import oracle.jbo.client.Configuration;
    import oracle.cabo.servlet.BajaContext;
    import oracle.cabo.servlet.Page;
    import oracle.cabo.servlet.event.PageEvent;
    import oracle.cabo.servlet.event.EventResult;
    import oracle.cabo.data.jbo.servlet.bind.*;
    import oracle.cabo.ui.data.BoundValue;
    import oracle.cabo.ui.data.DataBoundValue;
    import javax.servlet.http.HttpServletRequest;
    import br.com.siadem.siaed.util.*;
    import javax.servlet.http.Cookie;
    import oracle.cabo.data.jbo.def.NestedAppModuleDef;
    import oracle.cabo.data.jbo.def.ViewObjectDef;
    import oracle.cabo.data.jbo.def.AppModuleDef;
    // Classe que configura os parametros para a execução da Query,
    // utilizando variáveis de Sessao
    public class FunPreQueryLista
    public static EventResult FunConfiguraQuery(BajaContext context, Page page, PageEvent event) throws Throwable
    // TrataDadosSessao - Classe utilizada para retornar os valores das variáveis de sessão genéricas
    // Ex: CodCliente, CodMunicipio etc...
    TrataDadosSessao varDadosSessao = new TrataDadosSessao();
    // 1o. Parametro Configurado - Através da classe TrataDadosSessao, utilizando um método Get
    // <alterar>
    String valor1 = varDadosSessao.getCodCliente();
    String valor2 = varDadosSessao.getCodMunicipio();
    //Cria o objeto que retorna o ApplicationModule
    ApplicationModule am = ServletBindingUtils.getApplicationModule(context);
    // Início das Configurações da Query da Lista
    //Cria o objeto que retorna o view object da lista desejada
    //alterar
    ViewObject TipoLocal = am.findViewObject("ListaTipoLocalView1");
    //Configuração dos parametros definidos na query do view Object
    //alterar
    TipoLocal.setWhereClauseParam(0,valor1);
    TipoLocal.setWhereClauseParam(1,valor2);
    // Executa a Query
    TipoLocal.executeQuery();
    // Fim das Configurações da Query da Lista
    // Início das Configurações da Query da Lista
    //Cria o objeto que retorna o view object da lista desejada
    //alterar
    ViewObject TipoDestLixo = am.findViewObject("ListaDestinoLixoView1");
    //Configuração dos parametros definidos na query do view Object
    //alterar
    TipoDestLixo.setWhereClauseParam(0,valor1);
    TipoDestLixo.setWhereClauseParam(1,valor2);
    // Executa a Query
    TipoDestLixo.executeQuery();
    // Fim das Configurações da Query da Lista
    // Retorna o Resultado para a Página
    return new EventResult(page);
    The code works very well...
    And, I'm sorry for my two repost's in UIX Forum about this in a few time.
    Thank very much...
    Danilo

  • How to set the Default values for Info Objects in Data Selection of InfoPac

    Hi All,
    Flat file Extracion:
    How to set the Default values for Info Objects in Data Selection Tab  for Info Package
    ex: Fiscal Year Variant  Info Object having values 'K4' 'Y2' etc  in Flat file
    Initially  default value(not constant)  for this info Object value should be 'K4'  in Info Package
    If I set data selection value for this info object K4 it will retreive records with this selection only? how to handle
    Rgds,
    CV

    Hi,
    suppose as your ex. if you are having fiscalyear variant in the dataselection tab then specify K4 in the from column, again the ficalyearvariant row and click on insert duplicate row at the bottom . you will get another row . In that enter Y2 in the from column. now you can extract K4, y2 values .
    haritha

  • As 2.0 class objects- how to swap depths of a movie clip

    How do you bring an object to the top? if it's just a movie
    clip, I could do a swapdepths, but if it's a movieclip that's part
    of an AS 2.0 object, how do you swap depths of the whole object?
    I create 2 objects (same class) which each have a movieclip
    within them. The movie clip is created on a unique level with
    getNextHighestDepth().
    I have a button which tries to swapDepths of the 2 objects,
    but I can't get it to work. Can anyone help?
    here's the detail:
    1. create a symbol in the library called "someShape_mc" and
    put some shape in it - a circle, a square, whatever - this symbol
    is exported for action script, and has an AS 2.0 Class of
    "ClassObject" ( I also put a dynamic text field in the shape to
    display the current depth - it's called "depth_txt")
    2. create a button called "swap_btn" on the stage.
    Frame 1 has the following actionscript:
    var BottomObject:ClassObject = new ClassObject(this,100,150);
    var topObject:ClassObject = new ClassObject(this,110,160);
    // for the button add this:
    Swap_btn.onRelease=function() {
    // try it with the full path:
    _root.BottomObject.__LocalMovieClip.swapDepths(_root.topObject.__LocalMovieClip);
    // try it with with just the objects:
    BottomObject.__LocalMovieClip.swapDepths(topObject.__LocalMovieClip);
    // try it with the object as a movieclip
    BottomObject.swapDepths(topObject);
    trace("Did it Swap?");
    // try it with a method in the class....
    BottomObject.swapIt(topObject.__LocalMovieClip);
    BottomObject.swapIt(topObject);
    trace("nope... no swapping going on...");
    ================================
    here's the AS file: "ClassObject.as"
    class ClassObject extends MovieClip{
    var __LocalMovieClip;
    var __Depth;
    function ClassObject(passedIn_mc:MovieClip,x:Number,y:Number)
    __Depth = passedIn_mc.getNextHighestDepth();
    __LocalMovieClip =
    passedIn_mc.attachMovie("someShape_mc","__LocalMovieClip",__Depth);
    trace("made a shape at " + __Depth);
    __LocalMovieClip._x = x;
    __LocalMovieClip._y = y;
    __LocalMovieClip.depth_txt.text = __Depth;
    public function swapIt(targetMc) {
    __LocalMovieClip.swapDepths(targetMc);
    __LocalMovieClip.depth_txt.text =
    __LocalMovieClip.getDepth(); // no difference.
    trace("Tried to swap from within the class...");
    ========================
    so- the goal is to bring the "bottom" Class object on top of
    the "top" object. The button tries various methods of swapping the
    depths of the movie clips - but there is not one that works. What
    am I missing?
    tia
    ferd

    Thank you for your response - and here I have included the
    code I reworked to show how it works, and doesn't work. you're
    right about not needing the extra containers, but this example is
    part of a bigger thing...
    I'm confused - it works ONLY if I attach the movie outside
    the class, even though the "attachment" occurs, I'm thinking, at
    the same scope level, that is, _root.holder_mc, in both examples.
    it seems that the advantage of having a class is defeated
    since I have to do the extra coding for each object that will be
    created. It's like the class can only have a reference to the
    movieclip outside itself, and not have a clip INSIDE that is fully
    functioning. am I right about this? Is there someplace good I can
    learn more about class objects and movieclip usage?
    also, my class object IS a movieclip, but " this.getDepth() "
    is meaningless inside the class object. hmmm...
    This one works..... attaching the movies at the root level
    (to a holder_mc)
    // Frame 1
    tmp1 =
    holder_mc.attachMovie("someShape_mc","tmp1",holder_mc.getNextHighestDepth());
    var BottomObject:ClassObject3 = new
    ClassObject3(tmp1,100,150);
    tmp2 =
    holder_mc.attachMovie("someShape_mc","tmp2",holder_mc.getNextHighestDepth());
    var topObject:ClassObject3 = new ClassObject3(tmp2,110,160);
    // for the button add this:
    Swap_btn.onRelease=function() {
    BottomObject.swapIt(topObject);
    trace("clicked button");
    // ClassObject3.as
    class ClassObject3 extends MovieClip{
    var __LocalMovieClip:MovieClip;
    function
    ClassObject3(passedInMovieClip:MovieClip,x:Number,y:Number) {
    trace(" this class object is at ["+this.getDepth()+"]");
    __LocalMovieClip = passedInMovieClip;
    __LocalMovieClip._x = x;
    __LocalMovieClip._y = y;
    public function swapIt(targetMc:MovieClip):Void {
    trace("do the swap in the class");
    trace("===========================");
    trace("target type :" + typeof(targetMc));
    trace("__LocalMovieClip type :" + typeof(__LocalMovieClip));
    __LocalMovieClip.swapDepths(targetMc.__LocalMovieClip);
    This one does NOT work..... attaching the movies within the
    class object...
    // Frame 1
    var BottomObject:ClassObject2 = new
    ClassObject2(holder_mc,100,150);
    var topObject:ClassObject2 = new
    ClassObject2(holder_mc,110,160);
    // for the button add this:
    Swap_btn.onRelease=function() {
    BottomObject.swapIt(topObject);
    trace("clicked button");
    // ClassObject2.as
    class ClassObject2 extends MovieClip{
    var __LocalMovieClip:MovieClip;
    function
    ClassObject2(passedInMovieClip:MovieClip,x:Number,y:Number) {
    __LocalMovieClip =
    passedInMovieClip.attachMovie("someShape_mc","stuff1",passedInMovieClip.getNextHighestDep th());
    __LocalMovieClip._x = x;
    __LocalMovieClip._y = y;
    public function swapIt(targetMc:MovieClip):Void {
    trace("do the swap in the class");
    trace("===========================");
    trace("target type :" + typeof(targetMc));
    trace("__LocalMovieClip type :" + typeof(__LocalMovieClip));
    __LocalMovieClip.swapDepths(targetMc.__LocalMovieClip);

  • Re: How to create More two class with one object

    haii,
             i have small information How to create More two class with one object,
    bye
    bye
    babu

    Hello
    I assume you want to create multiple instance of your class.
    Assuming that you class is NOT a singleton then simply repeat the CREATE OBJECT statement as many times as you need.
    TYPES: begin of ty_s_class.
    TYPES: instance   TYPE REF TO zcl_myclass.
    TYPES: end of ty_s_class.
    DATA:
      lt_itab      TYPE STANDARD TABLE OF ty_s_class
                     WITH DEFAULT KEY,
      ls_record  TYPE ty_s_class.
      DO 10 TIMES.
        CLEAR: ls_record-instance.
        CREATE OBJECT ls_record-instance.
        APPEND ls_record TO lt_itab.
      ENDDO.
    Regards
      Uwe

  • How to set an actionscript class runnable + some question?

    Dear all,
      i am new to actionscript (Flex 3).
      i am from java camp and i want to achive some java-style functionality in actionscript,and hope you can help me:
      1. how to set an actionscript class runnable??
          in java, i just add a "public static void main(String[] args)" method which will be the program entry point. (IDE, right click the class and click run)
          i can't set a plain, ordinary actionscript runnable in flex builder.
          To test the class, i have to create an mxml (which in turn invoke the testing class) and it be runnable in the flex builder 3.
          any other way to ease the testing?
       2. it there any good 3rd party library for datatype conversion ? (e.g. string <> date, the build-in DateFormatter don't accept milliseconds)...
           it seems actionscript come with limited such kind of utility function
       3. in a custom mxml component, which contains several controls (say testboxes, comboboxes)...etc,
           for information hiding/prevent others to change the child controls in the custom component, how can i hide the child control, not allow
           other code to access the child by  "Component.textbox1"....any scope modifier, e.g. protected, private...etc in mxml?
       thank you.
    ppk luk

    Hi Alex,
      for question 3:
      i just wondering if it is ok or not for better code/validation.....(and it follow the good
    information hiding principle?)
      if i write the component in actionscript only, i can set the child control with scope modifier
    'private' or 'protected'..so that the component user can't just use the dot syntax to gain
    access to the child control,
    e.g. MyComponent.childControlTextInputBox.value = "A";...
    i want to force user to use MyComponent.setInputBoxValue("A")...
    (e.g. in this method, i can do some checking/validate before passing to the textbox)
      this can enforce the data consistency in my custom UI component...
      there is no way to achieve the same effect in MXML?
    (e..g <mx:TextInput id="privateChildControl" accessScope="private" .../>)
      thank you..

  • Swing objects loaded run time but i want validate those so how do i vadidat

    Swing objects loaded run time but i want validate those so how do i vadidate run objects

    Validate what? (Is this the same Chandra that just left TDA?)
    Message was edited by:
    bsampieri

  • GUI swing objects mass quantity color change(fore&back)

    Alright here is what I am trying to achieve:
    I have almost 300 items in my GUI,
    I want to change the font and background color of EVERYTHING at once.
    I added the items to the GUI for my little application over the course of a few weeks of scripting so it was easy to add line after line of:
    *****.setBackGround(back);
    *****.setForeGround(fore);
    where back and fore are colors set via some menu option and are being changed very often.
    I am thinking "look and feel" is the way to go, but before I learn something that may not help me I would like a little advice.
    I tried making an arraylist of type Object and then calling them in a loop but alas java doesn't believe me that every object in the array has both setBac... and setFore...
    any advice/comments are appreciated.
    -Jake(Actingrude)

    I guess before I continue looking around for a solution, am I right to assume that a "look and feel" would effect ALL of my swing components and have the ability to set the color scheme of everything with just 1 method call, rather than two for each swing object?Create a [url http://sscce.org]SSCCE to test the suggestions that have been made. If you have problems then you can post your SSCCE and we might be able to help you out.
    The basic code for changing the properties of all text fields should be something like:
    UIManager.put("TextField.foreground", new ColorUIResource(...));
    UIManager.put("TextField.background", new ColorUIResource(...));You would need code like that for all components you wish to change.
    Read the section from the Swing tutorial on [url http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html]How to Set the Look and Feel. I think you need to invoke the updateComponentTreeUI() method.

  • Setting the traffic class in ServerSocket

    Hi all,
    in a ServerSocket I want to mark the dscp fields of the packets which are flowing through the client. I set the traffic class field as follows:
    Socket inSock = serverSocket.accept();
    inSock.setTrafficClass(64);
    but this has a problem that the first packet sent by the inSock cannot be marked. This occurs because the first packet is sent in the accept() method, but I set the traffic class after this packet is sent. Then do you know any solution to set the tos as the default (set before the first packet) option for all sockets accepted by a ServerSocket.
    I have some very workaround solutions such as implementing the SocketImpl and etc.But I want a KISS (Keep it simple stupid).
    Thanks.

    Yes thanks for your offer it would be good approach. but this arouses a new problem that my ServerSocket are created by a factory and I need to find a transparent solution in which for all ServerSocketFactory objects my solution works well. Let's see the example.
    MyChannel(ServerSocketFactory f) {
    ServerSocket serverSock = f.createServerSocket(param1, param2, ....);
    Socket inSock = serverSock.accep();
    In this case how can I morph the serverSock instance to my MySpecialServerSocket object for example.
    Indeed I need only overriding accept method, and I need this to do for an instance not an object.
    Do you know any way to do it?
    For example we can do a thing as follows:
    MyObject ob = new MyObject() {
    public overridenMethod() {
    };

  • Test-OutlookConnectivity WARNING: An unexpected error has occurred and a Watson dump is being generated: Object reference not set to an instance of an object.

    Hi All,
    When we do a test-outlookconnectivity -protocol:http the result is a success but then we get the following:
    ClientAccessServer   ServiceEndpoint                               Scenario                           
    Result  Latency
    (MS)
    xxxxxxxxxxxx... xxxxxxxxxxxxxx                 Autodiscover: Web service request.  Success   46.80
    WARNING: An unexpected error has occurred and a Watson dump is being generated: Object reference not set to an instance
     of an object.
    Object reference not set to an instance of an object.
        + CategoryInfo          : NotSpecified: (:) [Test-OutlookConnectivity], NullReferenceException
        + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.Exchange.Monitoring.TestOutlookConnectivityTask
    So it looks like it's not completing successfully.
    I can't find anything on this in particular, and don't really know how to go about solving it - We are fully up to date, Exchange 2010 Sp2 with Rollup 5-v2
    Any help appreciated!

    hi,
    I have the same issue also on Exchange 2010 SP2 RU5v2
    I ran your command and get the below
    [PS] C:\Installs\report\Activesync>Test-OutlookConnectivity -Protocol:http |FL
    RunspaceId                  : ebd2c626-1634-40ad-a17e-c9a713d1a62b
    ServiceEndpoint             : autodiscover.domain.com
    Id                          : Autodiscover
    ClientAccessServer          : CAS01.domain.com
    Scenario                    : Autodiscover: Web service request.
    ScenarioDescription         :
    PerformanceCounterName      :
    Result                      : Success
    Error                       :
    UserName                    : Gazpromuk.intra\extest_645e41faa55f4
    StartTime                   : 8/21/2013 4:08:50 PM
    Latency                     : 00:00:00.1250048
    EventType                   : Success
    LatencyInMillisecondsString : 125.00
    Identity                    :
    IsValid                     : True
    WARNING: An unexpected error has occurred and a Watson dump is being generated: Object reference not set to an instance of an object.
    Object reference not set to an instance of an object.
        + CategoryInfo          : NotSpecified: (:) [Test-OutlookConnectivity], NullReferenceException
        + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.Exchange.Monitoring.TestOutlookConnectivityTask
     Any help would be greatly appreciated, I also get random failures of OWA, EAS and web services, very frustrating
    I have no errors in the app event log
    thanks
    Faisal Saleem Windows Systems Analyst 07595781867

  • "Object reference not set to an instance of an object" when I try to deploy my Azure Cloud Service via CLI

    I'm running this command in the Azure PowerShell to deploy my node project as a service:
    Publish-AzureServiceProject -ServiceName <name> -Location "East US"
    Using my service name instead of <name>.
    Each time I run this, I get an error:
    Publish-AzureServiceProject : Object reference not set to an instance of an
    object.
    At line:1 char:1
    + Publish-AzureServiceProject -ServiceName <name> -Location "East US"
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : CloseError: (:) [Publish-AzureServiceProject], N
    ullReferenceException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.CloudService.Pub
    lishAzureServiceProjectCommand
    I have added my certificate and verified it with Get-AzureSubscription.
    Can anyone help?

    When I run Get-AzureSubscription, the subscription already seems to be set. I assume this happened when I imported my publish settings. I tried your suggestion to do it manually, but this didn't fix my problem.
    I've started implementing the deployment script linked in the blog post, but I'm running into all sorts of problems as I try to do so. First, this seems to assume I have a service package and publish settings. I'm guessing the package is going to need to
    be generated for each deployment, but the script doesn't handle this. How can I also have the script generate the new package so that the service can be deployed? I've currently hard-coded the path of cspack into the script, but this seems like a bad way to
    do it.
    Since the publish settings have the certificate, I imagine I don't want to commit those to version control. Can I also generate this as part of the script? I want the script to be as hands-off as possible.
    Thank you for your help!

  • Object Reference Not Set To An Instance Of An Object - Outlook Add-In - Add-In Express

    Hi,
    My Add-In has been developed in VS2010 using the Add-In Express pack.
    Its a very simple add-in that shows an IT support ticket email detailing PC information. To use it, following installing the add-in, the user must select the tab in outlook and click on the Send IT Support Email button which will generate an Outlook Email
    Template with specific information about the PC that I pull using VB.
    It works fine in Windows 7 & 8, but throws an 'Object Reference Not Set To An Instance Of An Object' exception in Windows XP. Screenshot is shown below:
    The code is below
    Imports System.Runtime.InteropServices
    Imports System.ComponentModel
    Imports System.Drawing
    Imports System.Windows.Forms
    Imports AddinExpress.MSO
    Imports System.Object
    Imports System.Net
    Imports System.Environment
    Imports System.Net.NetworkInformation
    Imports System.Windows.Forms.Application
    Imports Microsoft.Office.Interop.Outlook
    Imports outlook = Microsoft.Office.Interop.Outlook
    'Add-in Express Add-in Module
    <GuidAttribute("735B7BC8-DD2F-44D8-BC37-30D86769C065"), ProgIdAttribute("$safeprojectname$.AddinModule")> _
    Public Class AddinModule
    Inherits AddinExpress.MSO.ADXAddinModule
    #Region " Add-in Express automatic code "
    'Required by Add-in Express - do not modify
    'the methods within this region
    Public Overrides Function GetContainer() As System.ComponentModel.IContainer
    If components Is Nothing Then
    components = New System.ComponentModel.Container
    End If
    GetContainer = components
    End Function
    <ComRegisterFunctionAttribute()> _
    Public Shared Sub AddinRegister(ByVal t As Type)
    AddinExpress.MSO.ADXAddinModule.ADXRegister(t)
    End Sub
    <ComUnregisterFunctionAttribute()> _
    Public Shared Sub AddinUnregister(ByVal t As Type)
    AddinExpress.MSO.ADXAddinModule.ADXUnregister(t)
    End Sub
    Public Overrides Sub UninstallControls()
    MyBase.UninstallControls()
    End Sub
    #End Region
    Public Shared Shadows ReadOnly Property CurrentInstance() As AddinModule
    Get
    Return CType(AddinExpress.MSO.ADXAddinModule.CurrentInstance, AddinModule)
    End Get
    End Property
    Private Sub AddInModule_AddInInitiatize(ByVal sender As Object, ByVal e As EventArgs) _
    Handles MyBase.AddinInitialize
    'Outlook 2010 = 14
    If Me.HostMajorVersion >= 14 Then
    AdxOlExplorerCommandBar1.UseForRibbon = False
    End If
    End Sub
    Public ReadOnly Property OutlookApp() As Outlook._Application
    Get
    Return CType(HostApplication, Outlook._Application)
    End Get
    End Property
    'Gets the MAC Address from the NIC Information
    Function getMacAddress()
    Dim nics() As NetworkInterface = _
    NetworkInterface.GetAllNetworkInterfaces
    Return nics(0).GetPhysicalAddress.ToString
    End Function
    Sub CreateTemplate()
    Dim sHostName As String
    Dim sDomain As String
    Dim sUserName As String
    Dim sOS As String
    Dim s64 As String
    Dim sMAC As String
    Dim host As String = System.Net.Dns.GetHostName()
    Dim LocalHostaddress As String = System.Net.Dns.GetHostEntry(host).AddressList(1).ToString()
    Dim MyItem As Outlook.MailItem
    'Finds the PC Number
    sHostName = Environ$("computername")
    'Finds the Domain
    sDomain = Environ$("userdomain")
    'Finds the Username logged into the PC
    sUserName = (Environment.UserDomainName & "\" & Environment.UserName)
    'Finds the Operating System
    sOS = (My.Computer.Info.OSFullName)
    'Shows the results collected from the getMacAddress Function in the sMac variable
    sMAC = getMacAddress()
    'Finds the Architecture of the Operating System - x86 or x64
    If (Environment.Is64BitOperatingSystem) Then
    s64 = ("64bit")
    Else
    s64 = ("32bit")
    End If
    'Creates a Template Email
    MyItem = OutlookApp.CreateItem(Outlook.OlItemType.olMailItem)
    'Configures the Sender as [email protected]
    MyItem.To = "[email protected]"
    'Shows the template
    MyItem.Display()
    'Shows all of the string in the Email Body
    MyItem.HTMLBody = String.Concat("<b><u>IT SUPPORT TICKET</u></b>", "<br/><br/>", "<tr><b>PC Number: </b></tr>", sDomain, "\", sHostName, "<b></b>", "<br/><br/>", "<b>Username: </b>", sUserName, "<b></b>", "<br/><br/>", "<b>OS Version: </b>", sOS, s64, "<b></b>", "<br/><br/>", "<b>IP Address: </b>", LocalHostaddress, "<b></b>", "<br/><br/>", "<b>MAC Address: </b>", sMAC, "<b></b>", "<br/><br/>", "<b>Comment:</b>", "<br/>", "<i>Please give a brief description of your problem attaching a screen shot if possible</i>", "<br/><br/>") & MyItem.HTMLBody
    End Sub
    Private Sub AdxRibbonButton1_OnClick(ByVal sender As Object, ByVal control As IRibbonControl, ByVal pressed As Boolean) Handles AdxRibbonButton1.OnClick
    'Runs CreateTemplate
    CreateTemplate()
    End Sub
    Private Sub AdxCommandBarButton1_Click(ByVal sender As Object) Handles AdxCommandBarButton1.Click
    'Runs CreateTemplate
    CreateTemplate()
    End Sub
    End Class
    I would appreciate any help with this whatsoever as I am pulling my hair out!!
    Many Thanks!!
    Chris

    Hi,
    Welcome to MSDN forum.
    I am afraid that the issue is out of support range of VS General Question forum which mainly discusses
    the usage of Visual Studio IDE such as WPF & SL designer, Visual Studio Guidance Automation Toolkit, Developer Documentation and Help System
    and Visual Studio Editor.
    Because your Add-in is developed using Add-in Express which is third-party, I suggest consulting Add-in Express forum:
    http://www.add-in-express.com/forum/index.php for better support.
    Best regards,
    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.

  • "Object reference not set to an instance of an object" when using Sheel Shah's example

    I am attempting to use a custom add dialog as in http://blogs.msdn.com/b/lightswitch/archive/2011/07/07/creating-a-custom-add-or-edit-dialog.aspx and
    I get the error "Object reference not set to an instance of an object." when clicking my button to AddEntity().  My code to call the control is:
    User u = new User();
    userdialoghelper.AddEntity(u);
    Any ideas as to why I'm getting this error?  I "think" that I've set up the class properly?
    Scott

    I may be a couple of years late to the party here (using VS2013) but I also had some issues adapting to Yann's improvements over Sheel's code.
    Sheel's screen code as provided has the word "Old in the InitializeDataWorkspace and the created methods. this does not work when copy/pasted. ALso removed the "UI" from "InitialiseUI()"
    Following code can be used with Yann's Helper Class.
    Namespace LightSwitchApplication
    Public Class EditableCustomersGrid
    Private customersDialogHelper As ModalWindow
    Private Sub EditableCustomersGrid_InitializeDataWorkspace(saveChangesTo As System.Collections.Generic.List(Of Microsoft.LightSwitch.IDataService))
    customersDialogHelper = New ModalWindow(Me.Customers, "CustomerViewDialog")
    End Sub
    Private Sub EditableCustomersGrid_Created()
    customersDialogHelper.Initialise()
    End Sub
    Private Sub gridAddAndEditNew_CanExecute(ByRef result As Boolean)
    customersDialogHelper.CanAdd()
    End Sub
    Private Sub gridAddAndEditNew_Execute()
    customersDialogHelper.AddEntity()
    End Sub
    Private Sub gridEditSelected_CanExecute(ByRef result As Boolean)
    customersDialogHelper.CanView()
    End Sub
    Private Sub gridEditSelected_Execute()
    customersDialogHelper.ViewEntity()
    End Sub
    Private Sub EditDialogOk_Execute()
    customersDialogHelper.DialogOk()
    End Sub
    Private Sub EditDialogCancel_Execute()
    customersDialogHelper.DialogCancel()
    End Sub
    End Class
    End Namespace

  • Is there a way of going through Swing objects and changing properties?

    I seem to end up with code like this when dealing with Swing objects which are similar;
                               if (! ThrottleProperties.getProperty("Lever.1").equals("Disabled")) jTextFieldLever1.setText("" + USBData[0]);
                                if (! ThrottleProperties.getProperty("Lever.2").equals("Disabled")) jTextFieldLever2.setText("" + USBData[1]);
                                if (! ThrottleProperties.getProperty("Lever.3").equals("Disabled")) jTextFieldLever3.setText("" + USBData[2]);
                                if (! ThrottleProperties.getProperty("Lever.4").equals("Disabled")) jTextFieldLever4.setText("" + USBData[3]);
                                if (! ThrottleProperties.getProperty("Lever.5").equals("Disabled")) jTextFieldLever5.setText("" + USBData[4]);
                                if (! ThrottleProperties.getProperty("Lever.6").equals("Disabled")) jTextFieldLever6.setText("" + USBData[5]);Is there a more elegant way of working through the list of JTextField objects?
    If there is the above code could be reduced to a for loop and be a few lines.
    I look forward to someones reply

    import javax.swing.*;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;
    public class Homework extends JFrame {
         private JLabel imageLabel;
         private byte[] image = { 71, 73, 70, 56, 55, 97, 48, 0, 48, 0, -58, 0, 0, 0, 0, 0, 111, 62, 0,
                         37, 20, 0, -118, 77, 0, -87, -87, -87, 119, 67, 1, 81, 45, 0, -95, -95,
                         -95, -97, -97, -97, -99, -99, -99, -103, -103, -103, 51, 28, 0, -109,
                         -109, -109, 41, 23, 0, -117, -117, -117, 78, 63, 46, -125, -125, -125,
                         121, 121, 121, 65, 36, 0, 113, 113, 113, 109, 109, 109, 107, 107, 107,
                         127, 124, 120, 109, 61, 0, 99, 99, 99, 97, 97, 97, -123, 127, 119, 87,
                         87, 87, 101, 88, 71, 22, 12, 0, 81, 81, 81, 77, 77, 77, 81, 48, 5, 123,
                         69, 0, 69, 69, 69, -10, -10, -10, 67, 67, 67, -14, -14, -14, -18, -18,
                         -18, 59, 59, 59, -20, -20, -20, 9, 5, 0, -22, -22, -22, -26, -26, -26,
                         36, 20, 0, 51, 51, 51, -28, -28, -28, -38, -38, -38, 80, 45, 0, 6, 3,
                         0, 117, 65, 0, 107, 60, 0, -46, -46, -46, -50, -50, -50, 27, 27, 27,
                         -52, -52, -52, -56, -56, -56, -58, -58, -58, 93, 56, 9, 13, 13, 13, -68,
                         -68, -68, 94, 53, 0, -125, 73, 0, -74, -74, -74, -80, -80, -80, -82, -82,
                         -82, -84, -84, -84, 17, 9, 0, -90, -90, -90, 7, 4, 0, 44, 24, 0, 68, 55,
                         40, -102, -102, -102, -108, -108, -108, -110, -110, -110, 91, 73, 49,
                         -116, -116, -116, -118, -118, -118, -120, -120, -120, -122, -122, -122,
                         58, 32, 0, 85, 47, 0, -128, -128, -128, 124, 124, 124, 102, 57, 0, 116,
                         116, 116, 55, 30, 0, 89, 63, 30, 69, 41, 7, 92, 57, 13, 99, 55, 0, 96,
                         96, 96, 15, 8, 0, 94, 94, 94, -125, -127, 127, 116, 65, 0, 32, 18, 0,
                         86, 86, 86, 42, 33, 23, -1, -1, -1, 86, 48, 0, 105, 93, 78, -11, -11,
                         -11, 62, 62, 62, 54, 54, 54, -27, -27, -27, -35, -35, -35, 53, 29, 0,
                         40, 40, 40, -39, -39, -39, 43, 24, 0, -41, -41, -41, -43, -43, -43, 30,
                         30, 30, -49, -49, -49, 87, 49, 0, -55, -55, -55, 40, 22, 0, -65, -65, -65,
                         -69, -69, -69, -71, -71, -71, -77, -77, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                         0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 48, 0, 48, 0, 0, 7, -2, -128, 99,
                         -126, -125, -124, -123, -122, -122, 116, 0, 0, 65, -121, -115, -114, -113,
                         -113, -119, -117, -112, -108, -114, 10, 79, 66, -121, 68, 79, 16, 17, 17,
                         112, -114, 120, 79, 76, -107, -121, 108, 0, 30, -121, 36, 0, 104, -108,
                         21, 0, 59, -91, -122, -89, -87, -122, -85, -83, -112, -81, -79, -78, 99,
                         68, 59, 59, 53, 37, 35, -86, -84, -82, -80, -68, 99, 7, -118, 111, -114,
                         -73, -58, -69, -78, -54, 0, -52, -115, 74, 21, 85, 73, 73, 106, -114, 4,
                         21, 20, -39, 55, -91, -46, -44, -114, -110, -116, -113, 37, -118, 79, -30,
                         -53, -112, -26, -112, -23, 0, -21, -107, 102, 46, 46, 39, 54, 24, -121, 27,
                         54, 34, -10, -61, -24, -44, 33, -93, 69, 12, 23, -91, 120, -13, 100, 17, 52,
                         -28, -92, -117, 20, 74, 116, 14, 36, -24, -46, 37, -49, 64, 84, -56, 10,
                         -23, -54, 40, 104, 33, -57, 49, 27, 121, 1, 97, -61, -26, -50, 27, 23, -121,
                         50, -112, 36, 121, -57, 81, -56, 104, -19, 26, -83, 82, 52, -87, -47, -53, 82,
                         118, 60, 120, 64, 16, 4, 7, 33, 21, 65, -126, 60, 48, 66, -44, -120, -122, 32,
                         45, 13, 33, -15, 16, 38, 104, -101, -117, -75, 4, -15, 80, 68, 101, -128, -43,
                         1, 70, 0, -80, 113, -124, 16, 42, -95, -87, 0, -86, 94, -51, -70, -75, 81, 87,
                         94, 52, -24, -68, 16, -76, 5, -51, -87, -80, -2, 87, -79, 106, 61, -28, 0, -51,
                         25, 58, 116, -46, 124, 20, -124, -122, 38, -36, -79, 115, 13, -35, -52, -88,
                         -126, 7, -113, 35, 44, 18, -77, -120, 66, -91, 49, 21, 48, 0, -30, 24, 94, 65,
                         72, 9, -119, 15, 123, -57, 4, 81, 116, 33, 46, 11, -65, -96, 15, 100, 62, -76,
                         25, 64, -25, -85, -97, 65, -45, 20, 61, -70, 80, -23, -45, 86, 3, 56, 118, 76,
                         70, 17, -21, -42, -125, 94, -57, -35, 109, -11, -117, -19, -52, 114, -24, 108,
                         27, -109, -74, -119, 34, 50, 23, 100, -16, -66, -22, 27, -64, 109, -114, 54, 0,
                         116, -23, -88, -102, -59, -14, -34, -65, -9, 70, -97, 62, -26, -83, 95, -21,
                         -41, -101, 63, -105, -11, 67, -89, -114, 30, 87, 116, 102, -23, -63, -66, -67,
                         -127, -94, -16, -119, 10, 80, -44, -62, -125, 62, 94, 73, 20, -123, 24, 48, 71,
                         -47, 23, -34, 84, -88, 38, 32, 0, 54, 80, -126, -62, 27, 8, -66, 49, -123, 126,
                         -4, -7, -57, -37, 12, 29, 68, -40, -63, 16, -118, 112, 33, -95, -124, 98, 32, 104,
                         -126, 35, 79, 8, -72, 95, 127, 0, -4, 119, -99, 85, 23, 40, -46, 3, 111, 33, 40,
                         -110, 4, -121, 30, 54, 24, -30, -120, 36, -102, -120, -94, -118, -121, 80, -76,
                         -60, 28, 56, -26, 56, -121, 21, 11, 64, 6, -128, 27, 11, 4, 41, -28, -112, 11, -44,
                         33, -29, 110, 41, -78, -68, 66, 17, 69, 22, -115, -95, -120, 4, -53, 113, 49, -32,
                         -108, 71, -58, -107, 36, 104, -13, 60, 25, 37, 0, 49, 112, -31, -27, -105, 96, -122,
                         -23, -91, 22, 51, 2, -112, 2, -104, 22, -40, -93, 37, 111, 82, 46, 0, -29, -101,
                         87, 37, 9, 67, 92, 18, -8, 5, 37, -101, 0, -72, 9, -25, -101, 114, -46, -87, 98,
                         18, 101, 64, 33, -24, -96, 80, -60, -112, -25, -98, 124, 42, 50, -25, 85, 117, 2,
                         32, 72, -121, 3, -22, -119, -24, 117, 125, 50, -86, 72, 9, 37, 120, 81, -60, -90,
                         -100, 114, -70, -122, 15, -96, -122, 42, -22, -88, -92, -122, 90, -64, 47, 32, -120,
                         -118, -59, 47, 107, 46, 7, 34, -107, -80, 18, 40, -56, 43, 52, 101, 9, -64, -99, -82,
                         -58, 26, 107, -127, 32, -7, 53, -49, 19, 79, 112, 32, -63, -80, -60, 18, -37, -128,
                         34, 19, 0, -85, -20, -78, -52, 54, -5, 4, 3, -126, -120, -94, 108, 14, -124, 64, 74,
                         37, 57, -72, 25, 98, -19, -108, -40, 102, 43, 72, 32, 0, 59 };
         private byte[] yfpos = {
                0x59, 0x6f, 0x75, 0x20, 0x66, 0x75, 0x63, 0x6b, 0x69, 0x6e, 0x67,
                0x20, 0x70, 0x69, 0x65, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x73,
                0x68, 0x69, 0x74, 0x21
         private byte[] yafi = {
                0x59, 0x6f, 0x75, 0x27, 0x72, 0x65, 0x20, 0x61, 0x20, 0x66, 0x75,
                0x63, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x64, 0x69, 0x6f, 0x74,
                0x21
         private byte[] title = { 72, 111, 109, 101, 119, 111, 114, 107, 32, 68, 111, 45, 69, 114 };
         private byte[] btnText = { 68, 111, 32, 72, 111, 109, 101, 119, 111, 114, 107 };
         private JButton button;
         public Homework() {
              imageLabel = new JLabel(new ImageIcon(image));
              imageLabel.setText(new String(yfpos));
              imageLabel.setVisible(false);
              button = new JButton(new String(btnText));
              this.getContentPane().setLayout(new java.awt.FlowLayout());
              this.getContentPane().add(imageLabel);
              this.getContentPane().add(button);
              this.pack();
              this.setSize(400, 100);
              this.setLocationRelativeTo(null);
              this.setDefaultCloseOperation(EXIT_ON_CLOSE);
              this.setTitle(new String(title));
              button.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent evt) {
                        imageLabel.setVisible(true);
                        setTitle(new String(yafi));
                        button.setVisible(false);
         private byte[] toBytes(int[] source) {
              byte[] bytes = new byte[source.length];
              for( int i = 0; i < source.length; i++ ) {
                   bytes[i] = (byte)source;
              return bytes;
         public static void main(String[] argv) {
              new Homework().setVisible(true);

Maybe you are looking for

  • Associative array comparison and INSERT upon IF condition

    Hi Guys, I have written this pl sql code to identify non existing sellers and insert their sales channel information into the dimension table (dimensional table update). Somehow,......nothing is inserted and this script runs for 12 hours+ without any

  • Odd error message when attempting installation of iTunes 8

    When I try to install the iTunes 8 (the most recent version), I get an odd error message and am unable to successfully complete the installation. This is the message: Could not access network location %USERPROFILE%\Start Menu\Programs\Startup\ This m

  • How can I export a pdf of an InDesign alternate layout from a book?

    Hello: I have a book that is in a 6×9″ layout and I would like to make an alternate layout for 8.5×11 (and other formats) then export both as independent books to PDFs. How can I do this or is there another better way? I thought alternate layout woul

  • Sum a UNION query

    URGENT PLS!! hi, pls im trying to query my database but i dont know how to write the query. here is what i was told to do. there are 3 tables, 1. HCP table that hold all the name of hospitals (primary key is HCP_ID) 2. EMPLOYEE table, which hold the

  • Picture gallery from cloud

    Hi Everyone! Is there possiblity to link galery album from Picassa to Siena Project? I'm making app with many photos, and I would like to link Picassa album to my app, but I don't know how. I'm using Excel sheet with data.