1 项目地址
Here!
用java gui界面实现了几种磁盘调度算法。
175 52 157 36 159 106 108 72
package caozuoxitongkeshe; import java.awt.Font; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; //这是柱形图的另一种效果,其实跟第一种相比都只有数据集发生了变化,再无其他变化 public class BarChart1 { ChartPanel frame1; public BarChart1(){ CategoryDataset dataset = getDataSet(); JFreeChart chart = ChartFactory.createBarChart3D( "磁盘调度算法性能比较", // 图表标题 "算法种类", // 目录轴的显示标签 "平均磁道长度", // 数值轴的显示标签 dataset, // 数据集 PlotOrientation.VERTICAL, // 图表方向:水平、垂直 true, // 是否显示图例(对于简单的柱状图必须是false) false, // 是否生成工具 false // 是否生成URL链接 ); //从这里开始 CategoryPlot plot=chart.getCategoryPlot();//获取图表区域对象 CategoryAxis domainAxis=plot.getDomainAxis(); //水平底部列表 domainAxis.setLabelFont(new Font("黑体",Font.BOLD,14)); //水平底部标题 domainAxis.setTickLabelFont(new Font("宋体",Font.BOLD,12)); //垂直标题 ValueAxis rangeAxis=plot.getRangeAxis();//获取柱状 rangeAxis.setLabelFont(new Font("黑体",Font.BOLD,15)); chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15)); chart.getTitle().setFont(new Font("宋体",Font.BOLD,20));//设置标题字体 //到这里结束,虽然代码有点多,但只为一个目的,解决汉字乱码问题 frame1=new ChartPanel(chart,true); //这里也可以用chartFrame,可以直接生成一个独立的Frame } private static CategoryDataset getDataSet() { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(Arithmetic.a, "SSTF", "SSTF"); dataset.addValue(Arithmetic.b, "FCFS", "FCFS"); dataset.addValue(Arithmetic.c, "SCAN", "SCAN"); dataset.addValue(Arithmetic.e, "CSCAN", "CSCAN"); return dataset; } public ChartPanel getChartPanel(){ return frame1; } }