import java.awt.*;
import javax.swing.*; public class BeatBox {
JFrame theFrame;
JPanel mainPanel;
String[] instrumentNames = {"Bass Drum", "Closed Hi-Hat",
"Open Hi-Hat", "Acoustic Snare",
"Crash Cymbal", "Hand Clap",
"High Tom", "Hi Bongo",
"Maracas", "Whistle",
"Low Conga", "Cowbell",
"Vibraslap", "Low-mid Tom",
"High Agogo", "Open Hi Conga"}; public static void main(String[] args) {
new BeatBox().buildGUI();
} public void buildGUI() {
theFrame = new JFrame("Cyber BeatBox");
theFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel background = new JPanel(new BorderLayout());
background.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); Box buttonBox = new Box(BoxLayout.Y_AXIS); JButton start = new JButton("Start");
buttonBox.add(start); JButton stop = new JButton("Stop");
buttonBox.add(stop); JButton upTempo = new JButton("Tempo Up");
buttonBox.add(upTempo); JButton downTempo = new JButton("Tempo Down");
buttonBox.add(downTempo); background.add(BorderLayout.EAST, buttonBox); Box nameBox = new Box(BoxLayout.Y_AXIS);
for (String instrument: instrumentNames) {
nameBox.add(new Label(instrument));
}
background.add(BorderLayout.WEST, nameBox); GridLayout grid = new GridLayout(16, 16);
mainPanel = new JPanel(grid); for (int i = 0; i < 256; i++) {
JCheckBox c = new JCheckBox();
c.setSelected(false);
mainPanel.add(c);
}
background.add(BorderLayout.CENTER, mainPanel); theFrame.setContentPane(background);
theFrame.setBounds(50, 50, 300, 300);
theFrame.pack();
theFrame.setVisible(true);
}
}

最新文章

  1. ionic 微信分享值各种坑
  2. openstack-keystone
  3. Imagick 缩放图片和实现模糊
  4. 使用替换shader渲染
  5. cookie的作用
  6. iOS面试题及答案2015.6.7
  7. javascript设计模式学习之八_发布订阅(观察者)模式
  8. LinQ[持续更新]
  9. 使用 GIT 获得Linux Kernel的代码并查看,追踪历史记录
  10. 那些好用的iOS开发工具
  11. uva10829 L-Gap Substrings
  12. MAC中通过gem命令安装compass
  13. OpenSceneGraph是一个开源的三维引擎
  14. linux之SQL语句简明教程---INSERT INTO
  15. bootstrap-paginator 分页插件笔记
  16. Hibernate基础学习(二)&mdash;Hibernate相关API介绍
  17. Unity3D中利用Action实现自己的消息管理(订阅/发布)类
  18. SQL Server 查询数据库中被锁定的表
  19. 清除浏览器CSS样式
  20. rubymine debug需要安装依赖

热门文章

  1. vs2017 添加引用时 未能完成操作。不支持此接口
  2. 【Codeforces 494A】Treasure
  3. [BZOJ2120] 数颜色 &amp;&amp; [bzoj2453] 维护队列(莫队 || 分块)
  4. [K/3Cloud]ksql翻译札记
  5. [bzoj 1059][ZJOI 2007]矩阵游戏(二分图最大匹配)
  6. 2102 石子归并 2codevs
  7. Ubuntu 16.04开机进入命令行(tty1)+分辨率调节+字体颜色设置+中文乱码解决(解决虚拟终端Ctrl+Alt+F1分辨率太大)
  8. AWR and ADDM
  9. HDOJ 5402 Travelling Salesman Problem 模拟
  10. Solidworks如何导入和使用模板文件