I have come to Java from Visual Basic, and seem to think I have been, in many ways, spoiled :p
Is there a way to instantiate an object and modify it inline? Something like:
JFrame aFrame = new JFrame();
aFrame.add(new JPanel() {.setSize(100,100) .setLocation(50,50) .setBackground(Color.red) });
I was able to @Override
methods, but am looking for something simpler. I have search alot, but if there is a specific term for this kind of inline instantiation, it eludes me.
Thank you for your time!
Yes but some people consider it hacky:
JFrame aFrame = new JFrame();
aFrame.add(new JPanel() {{
setSize(100,100);
setLocation(50,50);
setBackground(Color.red);
}});
Basically you add another layer of {}
(instance initialization block), which is executed when the panel is instantiated. Therefore you can put any code in it. (like calling setters).