java学习笔记_BeatBox(GUI部分)
2024-10-01 00:55:27
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);
}
}
最新文章
- ionic 微信分享值各种坑
- openstack-keystone
- Imagick 缩放图片和实现模糊
- 使用替换shader渲染
- cookie的作用
- iOS面试题及答案2015.6.7
- javascript设计模式学习之八_发布订阅(观察者)模式
- LinQ[持续更新]
- 使用 GIT 获得Linux Kernel的代码并查看,追踪历史记录
- 那些好用的iOS开发工具
- uva10829 L-Gap Substrings
- MAC中通过gem命令安装compass
- OpenSceneGraph是一个开源的三维引擎
- linux之SQL语句简明教程---INSERT INTO
- bootstrap-paginator 分页插件笔记
- Hibernate基础学习(二)&mdash;Hibernate相关API介绍
- Unity3D中利用Action实现自己的消息管理(订阅/发布)类
- SQL Server 查询数据库中被锁定的表
- 清除浏览器CSS样式
- rubymine debug需要安装依赖
热门文章
- vs2017 添加引用时 未能完成操作。不支持此接口
- 【Codeforces 494A】Treasure
- [BZOJ2120] 数颜色 &;&; [bzoj2453] 维护队列(莫队 || 分块)
- [K/3Cloud]ksql翻译札记
- [bzoj 1059][ZJOI 2007]矩阵游戏(二分图最大匹配)
- 2102 石子归并 2codevs
- Ubuntu 16.04开机进入命令行(tty1)+分辨率调节+字体颜色设置+中文乱码解决(解决虚拟终端Ctrl+Alt+F1分辨率太大)
- AWR and ADDM
- HDOJ 5402 Travelling Salesman Problem 模拟
- Solidworks如何导入和使用模板文件