⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 showcarousel.java

📁 本书透彻讲解了经典的《设计模式:可复用面向对象软件的基础》一书涵盖的23种基本设计模式。本书将这些设计模式分成五类:接口型模式、责任型模式、构造型模式、操作型模式
💻 JAVA
字号:
package com.oozinoz.carousel;


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/*
 * Copyright (c) 2001 Steven J. Metsker.
 * 
 * Steve Metsker makes no representations or warranties about
 * the fitness of this software for any particular purpose, 
 * including the implied warranty of merchantability.
 *
 * Please use this software as you wish with the sole
 * restriction that you may not claim that you wrote it.
 */
/**
 * Shows what the carousel door looks like. The "One Touch"
 * button changes the state of the door, depending on the
 * current state. See the "State" chapter of "The Design
 * Patterns Java Workbook" for details.
 * 
 * @author Steven J. Metsker
 */
public class ShowCarousel implements ActionListener 
{
	private Box buttonBox;

	private CarouselPanel doorPanel;
	private JPanel mainPanel;




/**
 * Let the carousel know that someone pushed its button.
 */
public void actionPerformed(ActionEvent e)
{
	carousel.click();
}
/*
 * A container for the status label and the "One Touch"
 * button.
 */
protected Box buttonBox()
{
	if (buttonBox == null)
	{
		buttonBox = Box.createHorizontalBox();
		buttonBox.add(status());
		buttonBox.add(Box.createHorizontalGlue());
		buttonBox.add(button());
	}
	return buttonBox;
}



/**
 * Shows what the carousel door looks like.  
 */
public static void main(String[] args)
{
	ShowCarousel app = new ShowCarousel();
	com.oozinoz.ui.SwingFacade.launch(
		app.mainPanel(),
		" Carousel");
	app.start();
}
/*
 * The panel that contains all the GUI components. 
 */
protected JPanel mainPanel()
{
	if (mainPanel == null)
	{
		mainPanel = new JPanel();
		mainPanel.setLayout(new BorderLayout());
		mainPanel.add(doorPanel());
		mainPanel.add(buttonBox(), "South");
	}
	return mainPanel;
}



	private JButton button;
	private Carousel carousel = new Carousel();
	private JLabel status;

protected JButton button()
{
	if (button == null)
	{
		button = new JButton("One Touch");
		button.addActionListener(this);
	}
	return button;
}



protected void start()
{
	carousel.start();
}

protected JLabel status()
{
	if (status == null)
	{
		status = new CarouselLabel(carousel);
	}
	return status;
}

protected CarouselPanel doorPanel()
{
	if (doorPanel == null)
	{
		doorPanel = new CarouselPanel(carousel);
	}
	return doorPanel;
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -