
求助java高手,帮忙编一个程序
1.设计一个应用程序,实现以下功能:提供一个图形用户界面,允许用户绘制直线、圆、矩形等几何图形,允许用户改变画笔的颜色,可以用颜色填充封闭的图形。另外可以选做以下功能:可...
1. 设计一个应用程序,实现以下功能:提供一个图形用户界面,允许用户绘制直线、圆、矩形等几何图形,允许用户改变画笔的颜色,可以用颜色填充封闭的图形。另外可以选做以下功能:可以改变某个几何形状的颜色和大小,可以复制、粘贴和剪切某个几何图形,提供打开和保存的功能。
展开
展开全部
送你个基本的绘画板吧。
package test;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Iuj extends JFrame implements MouseMotionListener, ActionListener //<---增加ActionListener
{
JButton button1,button2,button3;
Container c;
public static void main(String[] args)
{
Iuj frame=new Iuj();
}
int px,py,px2,py2;
Graphics2D g2;
//<---以下为增加的程式,
Color myColor = Color.black; //<---变数myColor, 初值为黑色
//<---判断哪一button按下了, set颜色到变数myColor
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(button1))
myColor = Color.blue;
else if (e.getSource().equals(button2))
myColor = Color.green;
else if (e.getSource().equals(button3))
myColor = Color.red;
}
//<---以上
public Iuj()
{
c=getContentPane();
button1=new JButton("蓝色");
button1.addActionListener(this); //<---增加
button1.setFont(new Font("华康中楷体",Font.BOLD,16));
button1.setForeground(Color.blue);
button1.setBounds(40,50,100,40);
c.add(button1);
button2=new JButton("绿色");
button2.addActionListener(this); //<---增加
button2.setFont(new Font("华康中楷体",Font.BOLD,16));
button2.setForeground(Color.green);
button2.setBounds(200,50,100,40);
c.add(button2);
button3=new JButton("红色");
button3.addActionListener(this); //<---增加
button3.setFont(new Font("华康中楷体",Font.BOLD,16));
button3.setForeground(Color.red);
button3.setBounds(360,50,100,40);
c.add(button3);
Container c=getContentPane();
c.setLayout(null);
c.setBackground(Color.white);
setDefaultCloseOperation(Iuj.EXIT_ON_CLOSE);
setTitle("涂鸭板");
addMouseMotionListener(this);
setSize(700,600);
setVisible(true);
}
public void mouseMoved(MouseEvent e)
{
px=e.getX();
py=e.getY();
}
public void mouseDragged(MouseEvent e)
{
px2=e.getX();
py2=e.getY();
Graphics g=getGraphics();
g2=(Graphics2D) g;
g2.setPaint(myColor); //<---增加
//g2.setColor(Color.black); <---删除此行
g2.setStroke(new BasicStroke(3.0f));
g2.drawLine(px,py,px2,py2);
px=px2;
py=py2;
}
}
package test;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Iuj extends JFrame implements MouseMotionListener, ActionListener //<---增加ActionListener
{
JButton button1,button2,button3;
Container c;
public static void main(String[] args)
{
Iuj frame=new Iuj();
}
int px,py,px2,py2;
Graphics2D g2;
//<---以下为增加的程式,
Color myColor = Color.black; //<---变数myColor, 初值为黑色
//<---判断哪一button按下了, set颜色到变数myColor
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(button1))
myColor = Color.blue;
else if (e.getSource().equals(button2))
myColor = Color.green;
else if (e.getSource().equals(button3))
myColor = Color.red;
}
//<---以上
public Iuj()
{
c=getContentPane();
button1=new JButton("蓝色");
button1.addActionListener(this); //<---增加
button1.setFont(new Font("华康中楷体",Font.BOLD,16));
button1.setForeground(Color.blue);
button1.setBounds(40,50,100,40);
c.add(button1);
button2=new JButton("绿色");
button2.addActionListener(this); //<---增加
button2.setFont(new Font("华康中楷体",Font.BOLD,16));
button2.setForeground(Color.green);
button2.setBounds(200,50,100,40);
c.add(button2);
button3=new JButton("红色");
button3.addActionListener(this); //<---增加
button3.setFont(new Font("华康中楷体",Font.BOLD,16));
button3.setForeground(Color.red);
button3.setBounds(360,50,100,40);
c.add(button3);
Container c=getContentPane();
c.setLayout(null);
c.setBackground(Color.white);
setDefaultCloseOperation(Iuj.EXIT_ON_CLOSE);
setTitle("涂鸭板");
addMouseMotionListener(this);
setSize(700,600);
setVisible(true);
}
public void mouseMoved(MouseEvent e)
{
px=e.getX();
py=e.getY();
}
public void mouseDragged(MouseEvent e)
{
px2=e.getX();
py2=e.getY();
Graphics g=getGraphics();
g2=(Graphics2D) g;
g2.setPaint(myColor); //<---增加
//g2.setColor(Color.black); <---删除此行
g2.setStroke(new BasicStroke(3.0f));
g2.drawLine(px,py,px2,py2);
px=px2;
py=py2;
}
}
展开全部
画图板,作业啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
又见馅饼
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
deng
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么少的分,谁给你做这道题啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询