Exer.2 Color Cycle
/*
Programmer: Albert Ampo
Date Started: March 17,2009
Date Ended: March 18, 2009
*/
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class ButtonDemo extends JPanel implements ActionListener {
private static boolean USE_CROSS_PLATFORM_UI = false;
int buttonLabelIndex = 0;
String buttonLabels[] = { "Green", "blue", "Gray", "Red" };
Color buttonColors[] = { Color.GREEN, Color.BLUE, Color.GRAY, Color.RED,};
JButton button;
public ButtonDemo() {
super(new BorderLayout());
button = new JButton(buttonLabels[buttonLabelIndex]);
// In the default UI look and feel you cannot easily alter the background color
// for buttons since it is designed to match the OS X UI.
if(USE_CROSS_PLATFORM_UI) {
button.setBackground(buttonColors[buttonLabelIndex]);
} else {
button.setForeground(buttonColors[buttonLabelIndex]);
}
button.addActionListener(this);
this.add(button, BorderLayout.CENTER);
this.setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
}
public void actionPerformed(ActionEvent e) {
buttonLabelIndex = ++buttonLabelIndex < buttonLabels.length?buttonLabelIndex:0;
button.setText(buttonLabels[buttonLabelIndex]);
this.setBackground(buttonColors[buttonLabelIndex]);
button.setBackground(buttonColors[buttonLabelIndex]);
}
private static void run() {
if(USE_CROSS_PLATFORM_UI) {
try {
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
}
JFrame frame = new JFrame("Button Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JComponent contentPane = new ButtonDemo();
contentPane.setOpaque(true);
frame.setContentPane(contentPane);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
run();
}
}
Tuesday, March 17, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment