Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 113633
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T02:43:59+00:00 2026-05-11T02:43:59+00:00

In our application we sometimes have to make minor GUI modifications for different customers:

  • 0

In our application we sometimes have to make minor GUI modifications for different customers:

  • One customer has an input field the others don’t have.
  • Another customer has all default fields but one of the optional input fields is mandatory.
  • A third customer has the default fields, but one field has its caption changed
  • A fourth customer has several new input fields and one existing multiline input field has to be changed to a single line input field (to make room for the new fields)
  • …

(Note: Although these examples might sound awkward, those are things our customers asked for)

How do you handle these cases?

  • In general
  • In Java/Swing

Currently we designed the form in the most common way. At runtime we make adjustments like hiding, resizing or repositioning fields. On input validation we validate the contents depending on the active customer.

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T02:44:00+00:00Added an answer on May 11, 2026 at 2:44 am

    This issue has three aspects: form layout, database storage and configurable business logic.

    Configuration driven form layout

    A flexible approach to form layout could be achieved by moving the layout to a descriptor file. Three GUI toolkits that support this are QT, WPF and XUL. However, AFAIK Swing does not directly support this capability. QT Jambi does allow you to use QT on Java as an alternative to Swing and QT 4.5 is going to be available with LGPL licensing. This is not a pure-java solution, but may be a possibility if this and the attendant re-write of the UI code is acceptable.

    The advantage of the configuration driven form layout is that the customisations can be made without having to maintain a separate build for each customer, so even if you have an incumbent code base, you may wish to examine whether there is a business case to adopt such a toolkit vs. maintaining multiple customer-specific builds. However, for a compiled language, you may still need to set up some sort of plug-in framework for the generated form code.

    Configurable database storage

    This is more complex. You can do this in three ways, which have their pros and cons.

    1. The first approach is to have a series of ‘user’ fields on the table, such as ‘User1’, ‘User2’ etc. Configured fields on the forms can be mapped to these fields – and a generic user field mapping facility should not be difficult to implement. This is the most efficient from a database query perspective but suffers from the limitation of a finite number of possible fields. If you have fields ‘User1’ to ‘User20’ you can only support 20 user defined attributes. Also, they will have to be nice, wide generic varchars, so you will get no type safety from the database.

    2. The second approach is to have an attributes table hanging off the entity. This doesn’t give you type safety, but it does let you have as many attributes as you want. Building a generic handler for this is also quite feasible but the query performance will be affected as you do multiple joins against the attributes table.

    3. Persist the user defined fields in an XML blob. This has little to recommend it, as it makes the data harder to access through the database. However, I have seen it done.

    Configurable business logic

    This is a much more thorny issue. Without adding custom code and changing your build, you have a few options for doing configurable business rules: Rule engines, scripting languages or a set of standard on/off features such as mandatory fields.

    1. Rule engines: You really have to design your application from scratch to use these, and they have their own limitations and foibles. ILOG, The incumbent in this field, is also quite expensive. For java, JESS might be an option.

    2. Embedded scripting language: By adding an interpreter for Jython, Groovy or some other JVM-friendly interpreted language, you can write plug-ins for the system without having to issue a new build. Some testing workload will still be incurred, but this might be a maintenance win overall.

    3. On/Off configuration for features. This is the least flexible option, but is relatively simple and adds relatively little in the way of external dependencies and licensing costs. It may also be your only choice if you’re trying to retrofit configuration to something that started life as a bespoke application.

    None of the Above

    If the answer is ‘None of the Above’, you’re probably stuck with custom builds. In that case, make a plug-in architecture for the forms so you can at least isolate the customer specific items into a separate module.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 92k
  • Answers 92k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer There is no way to do it using only sed.… May 11, 2026 at 6:28 pm
  • Editorial Team
    Editorial Team added an answer Werkzeug is a great little python tool (werkzeug) that works… May 11, 2026 at 6:28 pm
  • Editorial Team
    Editorial Team added an answer Use the JavaScriptSerializer. It's in the System.Web.Script.Serialization namespace and is… May 11, 2026 at 6:28 pm

Related Questions

We have a ton of features in our application that can be described very
This is a idea for a security. Our employees shall have access to some
I work on an application that has a both a GUI (graphical) and API
We have a Win32 application that hosts the .NET runtime and opens up .NET

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.