📄 fancontrolpanel.java
字号:
import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class FanControlPanel
extends JPanel implements ActionListener, AdjustmentListener
{
private JButton jbtStart, jbtStop, jbtReverse;
private JScrollBar jscb;
private Fan fan;
private FanControlPanel ControlPanel;
public static void main(String[] args)
{
JFrame frame = new JFrame("Fan Demo");
FanControlPanel p = new FanControlPanel();
frame.getContentPane().add(p, BorderLayout.CENTER);
frame.setSize(500, 500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public FanControlPanel()
{
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(1, 3));
p1.add(jbtStart = new JButton("Start"));
p1.add(jbtStop = new JButton("Stop"));
p1.add(jbtReverse = new JButton("Reverse"));
p1.setBorder(new LineBorder(Color.black, 1));
JPanel p2 = new JPanel();
setLayout(new BorderLayout());
add("North", p1);
add("Center", fan = new Fan());
add("South", jscb = new JScrollBar(
JScrollBar.HORIZONTAL, 100, 100, 0, 800));
jscb.setMaximum(1000);
jbtStart.addActionListener(this);
jbtStop.addActionListener(this);
jbtReverse.addActionListener(this);
jscb.addAdjustmentListener(this);
}
public void actionPerformed(ActionEvent e)
{
String arg = e.getActionCommand();
if (e.getSource() instanceof JButton)
if ("Start".equals(arg))
Start();
else if ("Stop".equals(arg))
stop();
else if ("Reverse".equals(arg))
reverse();
}
public void Start()
{
fan.resume();
}
public void stop()
{
fan.suspend();
}
public void reverse()
{
fan.reverse();
}
public void adjustmentValueChanged(AdjustmentEvent e)
{
fan.setSpeed((jscb.getMaximum() - jscb.getValue())/10000);
}
public Dimension getPreferredSize()
{
return new Dimension(200, 200);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -