网站建设资讯

NEWS

网站建设资讯

java绘图代码问题 java绘制图形代码

JAVA程序Swing绘图问题

public class fs extends JFrame {

目前成都创新互联已为1000多家的企业提供了网站建设、域名、雅安服务器托管网站托管运营、企业网站设计、随州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

public static void main(String args[]) {

Demo myDemo=new Demo();

}

}

fs类为啥也继承JFrame类, Demo类继承JFrame类了,Demo就是一个JFrame了,赶脚怪怪的。

请教JAVA绘图问题

这个方法需要注意的地方不多,也就是重写时,先调用 super.paint(g) 方法

paint方法不需要编写代码调用,只需要重写。

其他看jdk帮助中就行了。

public void paint(Graphics g) {

super.paint(g);// 调用父类的paint方法或调用下面的方法直接绘制组件

g.drawImage(image, 0, 0, null);

g.setFont(new Font("", Font.BOLD, 13));

g.setColor(Color.WHITE);

}

paint

public void paint(Graphics g)绘制容器。该方法将 paint 转发给任意一个此容器子组件的轻量级组件。如果重新实现此方法,那么应该调用 super.paint(g) 方法,从而可以正确地呈现轻量级组件。如果通过 g 中的当前剪切设置完全剪切某个子组件,则不会将 paint() 转发给这个子组件。

覆盖:

类 Component 中的 paint

参数:

g - 指定的 Graphics 窗口

另请参见:

Component.update(Graphics)

java绘图代码问题

我随手写了一个,你自己看看,注释我就不写了

import java.awt.Color;

import java.awt.Graphics;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class TestDraw implements ActionListener {

private JButton b1,b2,b3;

JFrame frame;

MyPanel panel;

public void init() {

frame = new JFrame();

frame.setBounds(100, 100, 400, 300);

frame.setTitle("画");

frame.setLayout(new GridLayout(2, 1));

JPanel p1 = new JPanel();

b1 = new JButton("直线");

b2 = new JButton("矩形");

b3 = new JButton("椭圆");

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

p1.add(b1);

p1.add(b2);

p1.add(b3);

panel = new MyPanel();

frame.add(p1);

frame.add(panel);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void actionPerformed(ActionEvent e) {

if(e.getSource() == b1) {

panel.setFlag(0);

panel.repaint();

}else if(e.getSource() == b2) {

panel.setFlag(1);

panel.repaint();

}else if(e.getSource() == b3) {

panel.setFlag(2);

panel.repaint();

}

}

public static void main(String[] args) {

new TestDraw().init();

}

class MyPanel extends JPanel {

int flag = -1;

public MyPanel() {

this.setSize(400, 400);

this.setBackground(Color.white);

this.setVisible(true);

}

//画直线

public void drawL(Graphics g) {

g.drawLine(100, 20, 200, 20);

}

//画矩形

public void drawR(Graphics g) {

g.drawRect(100, 20, 200, 100);

}

//画椭圆

public void drawO(Graphics g) {

g.drawOval(100, 20, 200, 100);

}

@Override

public void paint(Graphics g) {

super.paint(g);

if(flag == 0) {

drawL(g);

}else if(flag == 1) {

drawR(g);

}else if(flag == 2) {

drawO(g);

}

}

public int getFlag() {

return flag;

}

public void setFlag(int flag) {

this.flag = flag;

}

}

}

JAVA绘图问题

JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。


网页标题:java绘图代码问题 java绘制图形代码
浏览地址:http://cdweb.net/article/doiijph.html