Article View: borland.public.jbuilder.java.language
Article #372Re: Professional usage of Swing
From: Thomas Arend
Date: Mon, 02 May 2005 20:40
Date: Mon, 02 May 2005 20:40
136 lines
4647 bytes
4647 bytes
As I have not quite understood your answer here is a simplyfied example and
perhaps you could tll me how to handle it::
public class A {
public A(){
// ...
}
public void methodOneOfA (){
/... <manipulates i in one way>
};
public void methodTwoOfA (){
/... <manipulates i in another way>
};
int i;
}
Now I would like to manipulate A:
1. way (command line method):
public class mainprog {
public mainprog() {
}
public static void main(String[] args) {
testobj = new A();
testobj.methodOneOfA();
testobj.methodTwoOfA();
}
A testobj;
}
As everything worked well, I would like to get the two methods as a result
of pressing seperate buttons in a swing-application.
Up to now I did it the following way:
class ButtonPanel extends JPanel implements ActionListener {
public ButtonPanel() {
FirstButton = new JButton("method1");
SecondButton = new JButton("method2");
add(FirstButton);
add(SecondButton);
FirstButton.addActionListener(this);
SecondButton.addActionListener(this);
testobj = new A();
}
public void actionPerformed (ActionEvent evt)
{
Object source = evt.getSource();
if (source == FirstButton)
testobj.methodOneOfA();
else if (source == SecondButton) testobj.methodTwoOfA();
}
}
private A testObj;
}
public class ButtonFrame extends JFrame {
public ButtonFrame() {
setSize(350,200);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}});
Container contentPane = getContentPane();
contentPane.add(new ButtonPanel());
}
}
public class mainprog {
public mainprog() {
}
public static void main(String[] args) {
JFrame frame = new ButtonFrame();
frame.show();
}
}
But I don't know if putting the main Obj in the class ButtonPanel. Perhaps
it would be better to put it anywhere else, isn't it?
OK?
Thomas
"Alexey N. Solofnenko" <trelony@mail.ru> schrieb im Newsbeitrag
news:427650ba$1@newsgroups.borland.com...
> If I understood your question correctly.... I usually add method
> initWith(SomeObject obj) method that I call just after a form is created.
>
> - Alexey.
>
> Thomas Arend wrote:
> > I have once again one of these questions dealing with the professional
usage
> > of the advices of school-books about java.
> > So here it is:
> > I try to implement an application, that in the whole manipulates a
certain
> > class A. That means every action in the gui is to manipulate a central
> > object OA.
> > I have implemented the manipulation of the object OA in an apllication
that
> > can to be used on the command-line.
> >
> > Now I would like to use swing-components. And here the problem comes up:
In
> > which class (extended from a Swing component) do I now create the
central
> > object?
> > Is it the "main" part, where I normally would only create the Jframe an
call
> > "frame.show"; is it in the JFrame-constructor or is it in the content
> > Pane in the JPanel, where I also implement the Buttons, menues and so
on?
> >
> > And how do I make the central object known to all components of the GUI
> > (in other words: Where do I implement the call of the methods of the
class
> > to manipulate the object for example after pressing a Button?)
> >
> > A long question, but as I said: My books only tell me where it is
posible,
> > but not what is best.
> >
> > Thanks
> > Thomas
> >
> >
> >
Technical Details
Message-ID:
<42768fcf@newsgroups.borland.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!pd7cy2so!shaw.ca!news-out.newsgroups.com!propagator2-sterling.newsfeeds.com!news-in.newsfeeds.com!in.nntp.be!caladan.landsraad.net!newsgroups.borland.com!not-for-mailReferences:
<4274ed66$1@newsgroups.borland.com> <427650ba$1@newsgroups.borland.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f74b3,ee5938833f2078a1 X-Google-Attributes: gidf74b3,public X-Google-Language: ENGLISH,ASCII-7-bit From: "Thomas Arend" <thomas.arend@gmx.de> Newsgroups: borland.public.jbuilder.java.language References: <4274ed66$1@newsgroups.borland.com> <427650ba$1@newsgroups.borland.com> Subject: Re: Professional usage of Swing Date: Mon, 2 May 2005 22:40:28 +0200 Lines: 138 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 NNTP-Posting-Host: 80.142.85.203 Message-ID: <42768fcf@newsgroups.borland.com> X-Trace: newsgroups.borland.com 1115066319 80.142.85.203 (2 May 2005 13:38:39 -0700) Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!pd7cy2so!shaw.ca!news-out.newsgroups.com!propagator2-sterling.newsfeeds.com!news-in.newsfeeds.com!in.nntp.be!caladan.landsraad.net!newsgroups.borland.com!not-for-mail