Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #32182

How to access properties of a class from another class?

Path csiph.com!optima2.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!1.eu.feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!.POSTED!not-for-mail
From Xue Feng <xf.lotus@yahoo.com>
Newsgroups comp.lang.java.programmer
Subject How to access properties of a class from another class?
Date Wed, 29 Jul 2015 03:45:18 +0800
Organization Aioe.org NNTP Server
Lines 45
Message-ID <mp8m3g$dk2$1@speranza.aioe.org> (permalink)
NNTP-Posting-Host 1R/O88yygVrCzu9M8hCZEQ.user.speranza.aioe.org
Mime-Version 1.0
Content-Type text/plain; charset=gbk; format=flowed
Content-Transfer-Encoding 7bit
X-Complaints-To abuse@aioe.org
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0
X-Notice Filtered by postfilter v. 0.8.2
X-Mozilla-News-Host news://nntp.aioe.org:119
Xref csiph.com comp.lang.java.programmer:32182

Show key headers only | View raw


Hi,

Beg your pardon for this silly question.I am familiar with the concept 
of encapsulation indeed. However, for some problems, I think there must 
be better solutions.

My question comes from a feature of Netbeans which is well-known for its 
wonderful GUI design facilities. However, for all GUI components, 
Netbeans likes to cram them into a single source file of the main frame. 
A direct result for this is all code pertain to definition of GUI 
component objects and event handling are concentrated in a source file, 
and it meants to flate rapidly. For large-scale projects, this is not a 
good idea.(I have only little experience with Netbeans for two weeks. 
There mybe other options I don't know. Tell me please.)

To practice MVC schema, it is necessary to design separate control class 
and view class. Both of them have occasions to interact with GUI 
components. However, all of components are defined in the main frame 
class as private members. Therefore, control class and view class need 
to access these components encapsulated in the main frame class. I think 
there mybe some ways to achieve the goal as follows:

(1) Define control class and veiw class as inner class of the main frame 
class. But, this practice will result in a huge souce file obviously.
(2) Define components as public members. However, it seems that Netbeans 
does not allow this way.
(3) Define many 'get' methods for the main frame class, and invoke them 
from  control class and view class to get references of component 
needed. This is an ordinary pratice, but somewhat tedious. Moreover, it 
also lacks flexibility especially when the GUI design changes frequently.
(4) Take some language construct such as friend class from C++. I don't 
konw whether Java has this kind of construct.
(5) Is there any way to dynamically generate an object at runtime in 
terms of the main frame class as template? This object wraps up all 
components' reference as its public member. Then, pass the object to 
control object and view object. Maybe reflection can help, but I am not 
sure about it.

For the above specific situation, I wonder whether there are ways to 
circument encasulation to make programming more convenient and flexibiable.




Back to comp.lang.java.programmer | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

How to access properties of a class from another class? Xue Feng <xf.lotus@yahoo.com> - 2015-07-29 03:45 +0800
  Re: How to access properties of a class from another class? Eric Sosman <esosman@comcast-dot-net.invalid> - 2015-07-28 16:58 -0400
  Re: How to access properties of a class from another class? Jeff Higgins <jeff@invalid.invalid> - 2015-07-28 16:59 -0400
  Re: How to access properties of a class from another class? Nigel Wade <nmw@ion.le.ac.uk> - 2015-07-29 15:24 +0100
    Re: How to access properties of a class from another class? Xue Feng <xf.lotus@yahoo.com> - 2015-08-01 16:10 +0800

csiph-web