package javacodebook.gui.scrollbar;

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

/**
 * @author Benjamin Rusch
 * 
 * Dieses Frame besitzt nur ein großes Label welches nicht in jedes 
 * Fenster rein passen würde. Über die Scrollpane erscheinen 
 * automatisch Scrollbars sobald der Platz nicht reicht.
 */

public class ScrollbarSwing  extends JFrame {
	
	/**
 	 * Sehr große Komponente 
 	 */
	private JLabel bigComponent 	= new JLabel("In diesem Label steht sehr "
											+"viel Text drin soviel,dass er "
											+"bei kleiner Fenstergröße nicht "
											+"vollständig angezeigt werden "
											+"kann!"); 
											
	/**
	 * Die JScrollPane ist ein Container der falls notwendig horizontale, 
	 * sowie vertikale Scrollbars einbaut 
	 */
	private JScrollPane scroller	= new JScrollPane();
	
	private Container content 		= null;
	
	/**
 	 *	Konstruktor von ScrollbarSwing.  
 	 */	
	public ScrollbarSwing(String title) {
		
		super(title);   
	    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

		content = this.getContentPane();		
	  	content.setLayout(new BorderLayout());
		
		// Das JLabel wird in die Scrollpane gelegt, aber nicht wie bei 
		// AWT direkt über "add", sondern über den Viewport
		scroller.getViewport().add(bigComponent);	
		content.add(scroller);
		
	}

}
