Example to create custom JComponent:
package javaswing; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.Box; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.SwingUtilities; /** * * @web http://java-buddy.blogspot.com/ */ public class JavaTestSwing { static JFrameWin jFrameWindow; public static class MyComponent extends JComponent{ Dimension myDimension = new Dimension(300, 100); @Override public Dimension getPreferredSize() { return myDimension; } @Override public Dimension getMaximumSize() { return myDimension; } @Override public Dimension getMinimumSize() { return myDimension; } @Override protected void paintComponent(Graphics g) { g.drawLine(0, 0, getWidth()-1, getHeight()-1); g.drawLine(0, getHeight()-1, getWidth()-1, 0); g.drawRect(0, 0, getWidth()-1, getHeight()-1); } } public static class JFrameWin extends JFrame{ public JFrameWin(){ this.setTitle("java-buddy.blogspot.com"); this.setSize(350, 250); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MyComponent myComponent1 = new MyComponent(); MyComponent myComponent2 = new MyComponent(); Box verticalBox = Box.createVerticalBox(); verticalBox.add(myComponent1); verticalBox.add(myComponent2); this.add(verticalBox); } } public static void main(String[] args){ Runnable doSwingLater = new Runnable(){ public void run() { jFrameWindow = new JFrameWin(); jFrameWindow.setVisible(true); } }; SwingUtilities.invokeLater(doSwingLater); } }
No comments:
Post a Comment