日期:2014-05-20  浏览次数:20639 次

java 怎么画圆
java   怎么画圆啊
我现在想画一个类似雷达的图,要画一组同心圆,要怎么画啊,最好圆的边框能是虚线.

------解决方案--------------------
import javax.swing.JFrame;


public class TestFrame extends JFrame {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestFrame frame=new TestFrame();
frame.setBounds(0, 0, 200, 200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getGraphics().setColor(java.awt.Color.BLUE);
frame.getGraphics().drawOval(10, 60, 100, 100);
}

}

------解决方案--------------------
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.PolarPlot;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;

public class PolarChartDemo1 extends ApplicationFrame
{

public PolarChartDemo1(String s)
{
super(s);
JPanel jpanel = createDemoPanel();
jpanel.setPreferredSize(new Dimension(600, 500));
setContentPane(jpanel);
}

private static XYDataset createDataset()
{
XYSeriesCollection xyseriescollection = new XYSeriesCollection();
XYSeries xyseries = new XYSeries( "Series 1 ");
xyseries.add(0.0D, 2D);
xyseries.add(90D, 13D);
xyseries.add(180D, 9D);
xyseries.add(270D, 8D);
xyseriescollection.addSeries(xyseries);
XYSeries xyseries1 = new XYSeries( "Series 2 ");
xyseries1.add(90D, -11.199999999999999D);
xyseries1.add(180D, 21.399999999999999D);
xyseries1.add(250D, 17.300000000000001D);
xyseries1.add(355D, 10.9D);
xyseriescollection.addSeries(xyseries1);
return xyseriescollection;
}

private static JFreeChart createChart(XYDataset xydataset)
{
JFreeChart jfreechart = ChartFactory.createPolarChart( "Polar Chart Demo 1 ", xydataset, true, false, false);
jfreechart.setBackgroundPaint(Color.white);
PolarPlot polarplot = (PolarPlot)jfreechart.getPlot();
polarplot.setBackgroundPaint(Color.lightGray);
polarplot.addCornerTextItem( "Corner Item 1 ");
polarplot.addCornerTextItem( "Corner Item 2 ");
NumberAxis numberaxis = (NumberAxis)polarplot.getAxis();
numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
return jfreechart;
}

public static JPanel createDemoPanel()
{
JFreeChart jfreechart = createChart(createDataset());
ChartPanel chartpanel = new ChartPanel(jfreechart);
chartpanel.setMouseZoomable(false);