ColorNames.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.DateFormat;
import java.util.Date;
/**
Scrolling text using JTextArea and JScrollPane.
*/
class ColorNames extends JFrame
{
public static void main(String argv[])
{
ColorNames f = new ColorNames();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.show();
}
public ColorNames()
{
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension ss = kit.getScreenSize();
setSize(ss.width/2,ss.height/3);
setLocation(ss.width/4,ss.height/4);
setTitle("CISC370-011 -- JTextArea/JScrollPane demo");
ButtonPanel sp = new ButtonPanel();
Container contentPane = getContentPane();
contentPane.add(sp);
}
}
class ButtonPanel extends JPanel
{
public ButtonPanel() {
JTextArea area = new JTextArea(8,40);
JScrollPane pane = new JScrollPane(area);
mkButton("Red",Color.RED,area);
mkButton("Yellow",Color.YELLOW,area);
mkButton("Green",Color.GREEN,area);
this.add(pane);
}
void mkButton(final String name,
final Color bg,final JTextArea area) {
JButton jb = new JButton(name);
add(jb);
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
DateFormat fmt = DateFormat.getDateTimeInstance();
setBackground(bg);
area.append(name + " " +
fmt.format(new Date()) + "\n");
}
});
}
}