怎样把手机拍的视频上传到糖豆广场舞上传视频我的空间

扫二维码下载作业帮
1.75亿学生的选择
下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
如何使用paint方法,在一个Panel中画圆,或者矩形
扫二维码下载作业帮
1.75亿学生的选择
import&java.awt.*;import&java.awt.geom.*;import&javax.swing.*;public&class&DrawDemo&{public&static&void&main(String[]&args)&{DrawFrame&frame&=&new&DrawFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}/**&&&一个frame中包含一个panel用来画图&*/class&DrawFrame&extends&JFrame&{public&DrawFrame()&{setTitle(&DrawDemo&);setSize(DEFAULT_WIDTH,&DEFAULT_HEIGHT);//&将&panel&加到&frameDrawPanel&panel&=&new&DrawPanel();Container&contentPane&=&getContentPane();contentPane.add(panel);}public&static&final&int&DEFAULT_WIDTH&=&400;public&static&final&int&DEFAULT_HEIGHT&=&400;}/**&用来显示矩形和椭圆的panel&*/class&DrawPanel&extends&JPanel&{public&void&paintComponent(Graphics&g)&{super.paintComponent(g);Graphics2D&g2&=&(Graphics2D)&g;//&画矩形double&leftX&=&100;double&topY&=&100;double&width&=&200;double&height&=&150;Rectangle2D&rect&=&new&Rectangle2D.Double(leftX,&topY,&width,&height);g2.draw(rect);//&画rect的内切椭圆Ellipse2D&ellipse&=&new&Ellipse2D.Double();ellipse.setFrame(rect);g2.draw(ellipse);//&画一条对角线g2.draw(new&Line2D.Double(leftX,&topY,&leftX&+&width,&topY&+&height));//&画一个同心的圆double&centerX&=&rect.getCenterX();double&centerY&=&rect.getCenterY();double&radius&=&150;Ellipse2D&circle&=&new&Ellipse2D.Double();circle.setFrameFromCenter(centerX,&centerY,&centerX&+&radius,&centerY+&radius);g2.draw(circle);}}以上不知道符合不符合要求。
为您推荐:
扫描下载二维码Java 简单画板(一) - why - ITeye技术网站
博客分类:
老师讲完简单画图板的制作之后,剩下的一些功能要求我们自己来实现。之前一直没有时间来完成这个作业,今天正好有点时间来完成就来做了一下。我自己觉得这里面一些简单的图形的绘制都还是挺简单的,因为在Graphices这个抽象父类中都提供了对应的方法,而我在JPanel中得到的是这个抽象类的子类,在得到的子类中已经实现了这些图形的绘制,唯一觉得难一点的就是多边形,虽然也提供了对应的方法,但是不能实现绘制任意多边形,所以我得自己想办法来实现。
关于实现绘制任意多边形,我的基本思路是:
当我点下绘制任意多边形的按钮时,第一条边是和绘制直线一样的实现,但是我得标记当前绘制的边是不是第一条边,后面就是每次点击那么绘制一条从上次点击的点到当前的点的直线即可。
我贴上我的实现代码,代码里写了一些注释。
画图板窗体类:
package com.why.
import java.awt.BorderL
import java.awt.C
import java.awt.D
import java.awt.event.ActionE
import java.awt.event.ActionL
import javax.swing.JB
import javax.swing.JF
import javax.swing.JP
* 定义画板的窗体类,继承JFrame
* @author why
public class DrawFrame extends JFrame {
private static final long serialVersionUID = 1L;
private String graphName = "Line";
public static void main(String[] args) {
// TODO Auto-generated method stub
DrawFrame drawFrame = new DrawFrame();
drawFrame.init();
public void init() {
// JFrame的默认布局方式是边框布局
// 设置窗体的标题
this.setTitle("我的画板");
// 设置窗体大小
this.setSize(new Dimension(800, 600));
// 设置窗体的默认显示位置,当前设置为水平和竖直居中显示
this.setLocationRelativeTo(null);
// 设置点击关闭的按钮的响应动作
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建JPanel容器对象
JPanel drawPanel = new JPanel();
// 设置画图区域的背景色
drawPanel.setBackground(Color.WHITE);
// 添加画图的区域
this.add(drawPanel, BorderLayout.CENTER);
// 调用创建上面工具栏的按钮
createToolsPanel();
// 设置窗体可见
this.setVisible(true);
* 给绘图区域添加鼠标的监听器。
* 这里注意要得到JPanel的Graphics对象必须要在设置窗体可见之后才能取得,否则得不到该对象出现空指针的异常
PanelListener panelListener = new PanelListener(this, drawPanel.getGraphics());
drawPanel.addMouseListener(panelListener);
private void createToolsPanel() {
JPanel toolsPanel = new JPanel();// JPanel的默认布局方式是流式布局
String[] array = { "Line", "Rect", "Oval", "RoundRect", "Polygon",
"FillRect", "FillOval" };
// 实例化一个按钮监听器对象
ButtonListener l = new ButtonListener();
for (int i = 0; i & array. i++) {
JButton btn = new JButton(array[i]);
// 给按钮添加监听器
btn.addActionListener(l);
// 向上面添加按钮组件
toolsPanel.add(btn);
// 将工具容器添加到JFrame中
this.add(toolsPanel, BorderLayout.NORTH);
private class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
graphName = e.getActionCommand();
System.out.println("按下的按钮是" + graphName);
public String getGraphName() {
return graphN
public void setGraphName(String graphName) {
this.graphName = graphN
画图区域监听器类:
package com.why.
import java.awt.G
import java.awt.event.MouseE
import java.awt.event.MouseL
public class PanelListener implements MouseListener {
private int x1;
private int y1;
private int x2;
private int y2;
// 用以标记在按下绘制多边形按钮的时候是不是绘制第一条边
private DrawFrame drawF// 画板窗体类
private G// 绘图区域的图形上下文
public PanelListener(DrawFrame drawFrame, Graphics graphics) {
this.drawFrame = drawF
this.graphics =
this.flag =
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("当鼠标单击事件源的时候响应的方法");
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("当鼠标进入事件源的时候执行的方法");
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("当鼠标离开事件源的时候执行的方法");
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("当鼠标在事件源上按下的时候执行的方法");
if (drawFrame.getGraphName().equals("Polygon") && !flag) {// 如果按下的是绘制多边形按钮
x1 = e.getX();
y1 = e.getY();
} else if (!drawFrame.getGraphName().equals("Polygon")) {// 如果按下的不是绘制多边形按钮
x1 = e.getX();
y1 = e.getY();
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("当鼠标在事件源上释放的时候执行的方法");
System.out.println(e.getX() + " " + e.getY());
x2 = e.getX();
y2 = e.getY();
String graphName = drawFrame.getGraphName();
if (graphName.equals("Line")) {
graphics.drawLine(x1, y1, x2, y2);
} else if (graphName.equals("Rect")) {
graphics.drawRect(x1, y1, x2 - x1, y2 - y1);
} else if (graphName.equals("Oval")) {
graphics.drawOval(x1, y1, x2 - x1, y2 - y1);
} else if (graphName.equals("RoundRect")) {
graphics.drawRoundRect(x1, y1, x2 - x1, y2 - y1, 15, 15);
} else if (graphName.equals("Polygon")) {
graphics.drawLine(x1, y1, x2, y2);
} else if (graphName.equals("FillRect")) {
graphics.fillRect(x1, y1, x2 - x1, y2 - y1);
} else if (graphName.equals("FillOval")) {
graphics.fillOval(x1, y1, x2 - x1, y2 - y1);
这个效果图
空城旧梦why
浏览: 11570 次
来自: 长沙
Class.forName是加载类,newInstence才是 ...
可以研究一下Java的反射机制
标准可以变化
怎么把图片放上去的?不能完全做到也不代表可以没有进展
实现了功能,还有特殊情况扩展性,知道很多事情Java绘图原理
是JFrame左上角哦,不是屏幕左上角!以像素为单位!
1个像素 = 多少厘米??
其实我们应该明确像素并不能直接用确定的长度表示!
----------------Java绘图基本原理
package com.drawB
import java.awt.G
import javax.swing.JF
import javax.swing.JP
public class testBase1 extends JFrame{
MyPanel mp =
public static void main(String[] args) {
// TODO Auto-generated method stub
new testBase1();
public testBase1()
mp = new MyPanel();
this.add(mp);
//设置一下属性
this.setSize(400, 400);
this.setDefaultCloseOperation(3);
this.setVisible(true);
//定义一个MyPanel
//自己的面板,用于绘图和显示绘图的区域
@SuppressWarnings("serial")
class MyPanel extends JPanel
//覆盖JPanel的paint方法
//Graphics 是绘图的重要类,你可以把它理解成一只画笔
public void paint(Graphics g)
//1、调用父类函数完成初始化
//这个初始化必须有!!!!!
super.paint(g);
//先画一个圆圈
g.drawOval(10, 10, 50, 50);
repaint()就是重绘,例如坦克位置变了,就通过repaint()不断重制,我们看到坦克就是动的。
我们可以画其他图形哦!
获得一张图片,画出图片
Image im =
Toolkit.getDefaultTookit().getImage(Panel.class.getResource("/....jpg"));
Toolkit是一个工具类,提供了一个静态方法,然后通过Panel的类方法获取一个图片的资源。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 糖豆广场舞上传视频 的文章

 

随机推荐