杰拉斯的博客 - 开源
type: channel
link: https://www.clanfei.com/tag/%E5%BC%80%E6%BA%90/
items: Highcharts: 非常漂亮的免费纯JavaScript图表库
items: [大二课程设计开源]KTV管理系统（Swing界面，含源码）

Highcharts: 非常漂亮的免费纯JavaScript图表库
type: item
date: 2013-01-31T19:37:06+00:00
description: Highcharts是什么？Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表，并且免费提供给个人学习、个人网站和非商业用途使用。目前HighCharts支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表。HighCharts界面美观，由于使用JavaScript编写，所以不需要像Flash和Java那样需要插件才可以运行，而且运行速度快。另外HighCharts还有很好的兼容性，能够完美支持当前大多数浏览器。现在官方的最新版本为HighCharts2.3.5。特点 具有良好的兼容性：它可以在所有现代浏览器中很好地工作，包括iPhone，iPad甚至Internet Explorer 6。标准的浏览器使用SVG进行图形绘制，而在传统的Internet Explorer则使用VML进行绘制。 对非商业用户完全免费：无论你想要在个人网站，学校网站或是任何一个非营利组织中使用Highcharts，你都不需要经过授权。 开源：无论你使用的是Highcharts的免费版本还是商业授权版本，你都可以下载它的源代码并作出自己的修改，这给予了用户极大的自由度。 纯粹的JavaScript：Highcharts是完全基于本地浏览器技术的，不需要像Flash或Java那样依赖于客户端插件。此外，你不需要在服务器上安装任何东西，包括PHP或ASP.NET。Highcharts只需要两个核心文件：highcharts.js核心文件和jQuery，MooTools或Prototype框架的其中之一，而这个框架可能已经早就在你的网页中使用了。 众多的图表类型：Highcharts支持直线图，曲线图、区域图、区域曲线图、柱状图、饼装图、散布图等常见的图表类型，并且能够将他们结合在一个图表里。 简单的配置语法：配置Highcharts不需要任何的编程技术，它的配置变量只需要一个简单的JavaScript对象。 动态：在创建图表后的任何时候，你都可以通过一个完整的API对系列和数据点进行添加，删除和修改，也对坐标轴进行修改。许多事件都提供了为图表进行编程的钩子，结合jQuery，MooTools或Prototype框架的AJAX API，它甚至提供了能够实时动态地显示服务器数据的解决方案。 多轴：有时候你需要比较不同度量的数据，比如温度，降雨量和空气压力，Highcharts可以让你为每个数据集设置不同的Y轴，而如果你想要比较不同类别的数据，也可以设置不同的X轴。每个轴都可以放置在图表上下左右的任何位置，所有选项都可以单独设置，包括翻转，风格和位置。 提示标签：当鼠标停在图表的任何一个点或一个系列，都可以显示一个包含相关信息的工具条提示，而当鼠标在图表上移动时，它会自动选择离鼠标最近的点来进行显示，这对查看图表数据提供了极大的便利。 时间轴：75%的图表都带有一个时间轴作为X轴，Highcharts非常智能，甚至可以精确到毫秒，它也可以标志出一个月的开始或一周的开始，乃至午夜和正午等等。 导出和打印：如果启用了导出模块，您的用户可以通过点击导出按钮将图表导出为PNG, JPG, PDF或SVG格式，也可以直接将其打印出来。 缩放：你可以通过缩放来更仔细地查看你对图表中感兴趣的部分，缩放可以作用在X轴或Y轴上，也可以同时作用在两个轴上。 外部数据加载：Highcharts的数据来自于一个JavaScript数组，因此数据可以定义在一个本地配置对象中，也可以定义在一个单独的文件中，甚至可以来自不同的网站。此外，数据可以以任何形式传递给Highcharts，只需一个将数据解析为数组的回调函数。 角度计：针对仪表盘和角度计等，Highcharts提供了一种类似速度计的图表，让你可以一目了然地查看数据。 极坐标图表：笛卡尔坐标系的图表可以很简单的选项来转换成极坐标系图表或径向图。 倒转或翻转图表：有时候你需要将图表翻转，使X轴垂直，这也是支持的。 旋转标签：所有的文本标签，包括轴标签，数据点标签和坐标轴标题标签，都可以进行任意角度的旋转。 调用方式 var chart = new Highcharts.Chart({ chart: {…} colors: [{…}] credits: {…} exporting: {…} global: {…} labels: {…} lang: {…} legend: {…} loading: {…} navigation: {…} pane: {…} plotOptions: {…} series: [{…}] subtitle: {…} title: {…} tooltip: {…} xAxis: {…} yAxis: {…} }…

[大二课程设计开源]KTV管理系统（Swing界面，含源码）
type: item
date: 2012-04-05T04:39:40+00:00
description: 一些体会：可能不少人对Java界面的印象就是两个字——难看，曾经我也不例外。刚开始接触Java开发的界面是高三头脑发热想用Flash做MMORPG网游时，因为自己美工不咋地，所以用了游戏资源提取器：当时就想，Java做的界面怎么那么难看，又因为听说C++效率比Java高，Java基本上不可能用来开发大型的3D网游，因此一直对Java兴趣缺缺，直到大一的时候看到了这篇文章：《Swing是一把刀》，才发现，Swing原来也可以这么华丽。当时立马豪情万丈，废寝忘食地做出了人生中第一个Java作品畅之茗Java新浪微博客户端，不过因为代码在现在看来实在是幼稚的很，所以就不贴出来贻笑大方了。好吧，回到正题，偷偷地引用一段话：“无论哪个UI技术，说到底都是在屏幕上画图，本质上都是画点、划线而已，只是有的用起来复杂，有的简单，有的功能强，有的功能弱。不过对于技艺高超者来说，给个邮票大的地方也能跳出激动人心的舞蹈，Flex不就是在Flash这块邮票上面不停的折腾么？这又和脚下的空间有多少关系呢？相比Flash/Flex这张小邮票，Swing则给了我们一个巨大的足球场。如果我们还是不能在这个舞台上吸引更多的观众，还是多反思一下自己的舞技吧，就算脚下的场地有点湿滑不平，我们也没必要喋喋不休。” 如果用一个工具做不出好的作品，与其埋怨它差劲，不如反思一下为什么自己做不出好的作品。 大一的时候很喜欢用setLayout(null)，然后用绝对定位来进行布局，因为觉得自带的布局管理器只能适应特定的几种模式，不能够随心所欲，可后来才意识到一个问题：绝对定位的布局在某些分辨率下正常，但换个屏幕分辨率可能就惨不忍睹了，后来才发现，其实布局管理器如果懂得怎么去用，怎么组合，也可以做出随心所欲的界面，更重要的一点是：自动适应不同分辨率。 善用布局管理器。 虽说没有最好，只有更好，但我们就是需要一种吹毛求疵的态度去看待自己的作品，注重每一个细节，每一个用户体验，才能够做出超越自我的作品。 追求完美。 虽然这体会一条比一条短，但其实最后一条才是我体会最深，让我自己都感到又爱又恨的特质，因为追求完美，才会有那些点点滴滴的提高，但也是因为追求完美，所以经常一个作品总是改了又改，还经常熬夜。。熬夜这习惯不好，一定要改掉！！（虽然已经说了很久了= =）一些图片：首先呢，本菜鸟的文采不咋地，所以也不多说，直接上图。华丽丽的登陆界面：and华丽丽的操作界面：好吧，看到这里你是不是很恶寒= =||其实上面是未经过美化的半成品。。真正的内容来了：Loading界面：登陆界面：操作界面：订房界面：拿房界面：拿房成功：用户随意换肤：其实也就用户可以随意切换背景图片而已啦。。因为当时电脑无线网卡坏了，拿去修，后来赶着交作业，所以没有加注释，但代码的条理写的还算清晰，应该很容易看懂，还有因为只是做界面，所以没有实现数据库以及网络功能，还请各位见谅了~这是本菜鸟的第二个Java作品，第一个是：畅之茗Java新浪微博客户端2.0.2，因为代码实在是太幼稚，所以暂时就不贴出来献丑了= =。。下载地址：http://download.csdn.net/detail/coolanfei/4200720请各位大牛多多指教！