/*
JMultiLineLabelTestApplet
Test applet for JMultiLineLabel
Created via visual programing using Symantec Cafe 2.5

    (C) Copyright 1998
    Wildcrest Associates
    http://www.wildcrest.com
    
This source code may be freely used, modified, incorporated, and
distributed without restriction as part of any software that uses
JMultiLineLabel by Wildcrest Associates.
*/

import com.wildcrest.jmultilinelabel.JMultiLineLabel;

// Swing 1.0.x and JDK 1.2beta4
/*
import com.sun.java.swing.*;
import com.sun.java.swing.JTextArea;
import com.sun.java.swing.JLabel;
import com.sun.java.swing.JCheckBox;
import com.sun.java.swing.JScrollPane;
*/
// Swing 1.1beta3 and JDK 1.2final
import javax.swing.*;
import javax.swing.JTextArea;
import javax.swing.JLabel;
import javax.swing.JCheckBox;
import javax.swing.JScrollPane;


import java.awt.*;

public class JMultiLineLabelTestApplet extends JApplet
{
	public void init()
	{
		// Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
		//symantec.itools.lang.Context.setApplet(this);

		// This code is automatically generated by Visual Cafe when you add
		// components to the visual environment. It instantiates and initializes
		// the components. To modify the code, only use code syntax that matches
		// what Visual Cafe can generate, or Visual Cafe may be unable to back
		// parse your Java file into its visual environment.
		//{{INIT_CONTROLS
		getContentPane().setLayout(null);
		setSize(648,203);
		setBackground(new Color(16777215));
		jLabel1 = new JLabel();
		jLabel1.setText("JLabel");
		jLabel1.setOpaque(true);
		jLabel1.setBounds(12,24,168,15);
		jLabel1.setFont(new Font("Dialog", Font.BOLD, 12));
		jLabel1.setForeground(new Color(255));
		jLabel1.setBackground(new Color(16776960));
		getContentPane().add(jLabel1);
		jCheckBox1 = new JCheckBox();
		jCheckBox1.setText("Opaque backgrounds");
		jCheckBox1.setActionCommand("Opaque backgrounds");
		jCheckBox1.setSelected(true);
		jCheckBox1.setBounds(12,120,204,25);
		jCheckBox1.setFont(new Font("Dialog", Font.BOLD, 12));
		jCheckBox1.setForeground(new Color(0));
		jCheckBox1.setBackground(new Color(-3355444));
		getContentPane().add(jCheckBox1);
		jCheckBox2 = new JCheckBox();
		jCheckBox2.setText("Enable components");
		jCheckBox2.setActionCommand("Enabled controls");
		jCheckBox2.setSelected(true);
		jCheckBox2.setBounds(12,144,204,25);
		jCheckBox2.setFont(new Font("Dialog", Font.BOLD, 12));
		jCheckBox2.setForeground(new Color(0));
		jCheckBox2.setBackground(new Color(-3355444));
		getContentPane().add(jCheckBox2);
		jScrollPane1 = new JScrollPane();
		jScrollPane1.setOpaque(true);
		jScrollPane1.setBounds(192,24,180,84);
		jScrollPane1.setFont(new Font("Dialog", Font.PLAIN, 12));
		jScrollPane1.setForeground(new Color(0));
		jScrollPane1.setBackground(new Color(-3355444));
		getContentPane().add(jScrollPane1);
		jTextArea1 = new JTextArea();
		//jTextArea1.setSelectionStart(20);
		jTextArea1.setText("JTextArea: type here");
		jTextArea1.setMargin(new java.awt.Insets(0,0,0,0));
		jTextArea1.setLineWrap(true);
		jTextArea1.setCaretColor(new java.awt.Color(-8388353));
		//jTextArea1.setCaretPosition(46);
		//jTextArea1.setSelectionEnd(46);
		jTextArea1.setBounds(12,36,156,19);
		jTextArea1.setFont(new Font("Monospaced", Font.PLAIN, 12));
		jTextArea1.setForeground(new Color(0));
		jTextArea1.setBackground(new Color(-8323073));
		jScrollPane1.getViewport().add(jTextArea1);
		jMultiLineLabel1 = new JMultiLineLabel();
		jMultiLineLabel1.setText("JMultiLineLabel\n");
		jMultiLineLabel1.setLabelWidth(240);
		jMultiLineLabel1.setOpaque(true);
		jMultiLineLabel1.setLayout(null);
		jMultiLineLabel1.setBounds(384,24,240,15);
		jMultiLineLabel1.setFont(new Font("Dialog", Font.BOLD, 12));
		jMultiLineLabel1.setForeground(new Color(-8388608));
		jMultiLineLabel1.setBackground(new Color(16756655));
		getContentPane().add(jMultiLineLabel1);
		jLabel2 = new JLabel();
		jLabel2.setText("Background Image");
		jLabel2.setBounds(48,0,630,81);
		jLabel2.setFont(new Font("Dialog", Font.BOLD, 64));
		jLabel2.setForeground(new Color(12632256));
		jLabel2.setBackground(new Color(-3355444));
		getContentPane().add(jLabel2);
		//}}
	
		//{{REGISTER_LISTENERS
		SymKey aSymKey = new SymKey();
		jTextArea1.addKeyListener(aSymKey);
		SymAction lSymAction = new SymAction();
		jCheckBox1.addActionListener(lSymAction);
		jCheckBox2.addActionListener(lSymAction);
		//}}
		
        jTextArea1.requestFocus();  // otherwise takes 2 clicks to get first focus
		
		
	}

	//{{DECLARE_CONTROLS
	JLabel jLabel1;
	JCheckBox jCheckBox1;
	JCheckBox jCheckBox2;
	JScrollPane jScrollPane1;
	JTextArea jTextArea1;
	JLabel jLabel2;
	JMultiLineLabel jMultiLineLabel1;
	//}}


	class SymKey extends java.awt.event.KeyAdapter
	{
		public void keyReleased(java.awt.event.KeyEvent event)
		{
			Object object = event.getSource();
			if (object == jTextArea1)
				jTextArea1_keyReleased(event);
		}
	}

	void jTextArea1_keyReleased(java.awt.event.KeyEvent event)
	{
		// to do: code goes here.
			 
		//{{CONNECTION
		// setText... getText
		{
			jMultiLineLabel1.setText(jTextArea1.getText());
		}
		//}}
		//{{CONNECTION
		// setText... getText
		{
			jLabel1.setText(jTextArea1.getText());
		}
		//}}
		
	}


	class SymAction implements java.awt.event.ActionListener
	{
		public void actionPerformed(java.awt.event.ActionEvent event)
		{
			Object object = event.getSource();
			if (object == jCheckBox1)
				jCheckBox1_actionPerformed(event);
			else if (object == jCheckBox2)
				jCheckBox2_actionPerformed(event);
		}
	}

	void jCheckBox1_actionPerformed(java.awt.event.ActionEvent event)
	{
		// to do: code goes here.
			 
		//{{CONNECTION
		// setOpaque... isSelected
		{
			jTextArea1.setOpaque(jCheckBox1.isSelected());
			jLabel1.setOpaque(jCheckBox1.isSelected());
			jMultiLineLabel1.setOpaque(jCheckBox1.isSelected());
			repaint();
		}
		//}}
	}

	void jCheckBox2_actionPerformed(java.awt.event.ActionEvent event)
	{
		// to do: code goes here.
			 
		//{{CONNECTION
		// Toggle enabled
		{
			jTextArea1.setEnabled(jCheckBox2.isSelected());
			jLabel1.setEnabled(jCheckBox2.isSelected());
			jMultiLineLabel1.setEnabled(jCheckBox2.isSelected());
			repaint();
		}
		//}}
	}
}
