Java Graphics_1

package com.han;

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Graphics;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Graphics_1 extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = -5861565474703590207L;

	JButton button = new JButton("JButton");
	@SuppressWarnings("serial")
	Container container = new Container() {
		
		@Override
		public void paint(Graphics g) {
			
			/* If this method is reimplemented, super.paint(g) should be 
			 * called so that lightweight components (here is JButton) 
			 * are properly rendered. 
			 * However, for comparison, applications that override paint()
			 * method in Canvas which is in parallel level to Container 
			 * need not call super.paint(g). */
			super.paint(g);
			
			g.setColor(Color.BLACK);
			g.drawLine(5, 5, 15, 5);
		}
		
	};
	
	public Graphics_1() {
		// TODO Auto-generated constructor stub
		
		/* setContentPane(container); 与 this.add(container); 以及add(container);
		 * 都是一样的效果 */
//		setContentPane(container);
//		this.add(container);
		add(container); // java.awt.Container.add(Component comp)
		container.setLayout(new FlowLayout());
		container.add(button);
		
	}
	

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		final Graphics_1 frame = new Graphics_1();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setBounds(100, 100, 300, 200);
		frame.setVisible(true);	
	
	}

}


你可能感兴趣的:(java,String,button,Constructor,parallel,Components)