Results 1 to 4 of 4
- 02-19-2012, 06:08 PM #1
Member
- Join Date
- Feb 2012
- Posts
- 2
- Rep Power
- 0
Custom JComponent does not appear in window
Hello all!
For a personal project of mine, I have been trying to get a custom jcomponent into a jpanel into a frame. But it does not seem to be working; I only get a blank window. I have boiled it down to the following code:
Does anybody know the problem?Java Code:import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Graphics; public class Test extends JComponent { public void paintComponent(Graphics g) { g.drawString("hello world", 100, 100); } public static void main(String[] args) { JFrame f = new JFrame("Test"); f.setSize(500, 500); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); Test t = new Test(); p.add(t); f.add(p); f.setVisible(true); } }
Thanks in advance!
-
Re: Custom JComponent does not appear in window
The problem is that JPanels use FlowLayout by default and FlowLayout sizes contained components at their preferredSize. The preferredSize of your JComponent is 0,0. Try overriding getPreferredSize(...)
Caveat: code neither compiled nor testedJava Code:import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Graphics; public class Test extends JComponent { public void paintComponent(Graphics g) { g.drawString("hello world", 100, 100); } @Override public Dimension getPreferredSize() { return new Dimension(300, 300); } public static void main(String[] args) { JFrame f = new JFrame("Test"); // f.setSize(500, 500); // !! get rid of this !! f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); Test t = new Test(); p.add(t); f.add(p); f.pack(); // !! add !! f.setVisible(true); } }
- 02-19-2012, 09:43 PM #3
Member
- Join Date
- Feb 2012
- Posts
- 2
- Rep Power
- 0
Re: Custom JComponent does not appear in window
That did it! Thanks!
-
Similar Threads
-
Center text in a JComponent?
By Zman3359 in forum New To JavaReplies: 4Last Post: 04-17-2011, 10:44 PM -
Question on getGraphics() in a JComponent
By Shayke_ in forum Java 2DReplies: 2Last Post: 02-10-2011, 07:31 PM -
Using JComponent methods on a JComponent that was found using .getComponents()
By tashimoto in forum New To JavaReplies: 2Last Post: 10-01-2010, 07:18 PM -
SetBackground for JComponent
By tulasi.neppali in forum AWT / SwingReplies: 5Last Post: 09-12-2010, 10:14 PM -
JComponent gradient background
By snipered in forum AWT / SwingReplies: 0Last Post: 12-30-2008, 12:38 AM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks