java代码怎么控制图片 java代码怎么控制图片的大小

如何用java代码实现手动点击图片更换想要换的图片替换

一个图片时你知道,现在只是切换的问题?

创新互联建站专注于网站建设|网页维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖酒店设计等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身策划品质网站。

给按钮添加一个 ActionListener,在它的 actionPerformed 方法中做你的事情,把 jpanel.setIcon(..) 换张图片。

java如何实现图片拖动,放大缩小,旋转。

这个只是实现了移动,你参考以下吧 !

public class MoveImage {

static int x,y;

private static int num=0;

private static Icon icon=null;

public static void main(String[] args) throws Exception{

JFrame f = new JFrame();

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.getContentPane().setLayout(null);//这个要设置成 null

//图片

icon = new ImageIcon("d:/test.gif");//d:/test.gif本地一张图片

JLabel l = new JLabel(icon); //创建具有指定图像的 JLabel 实例。

l.setSize(icon.getIconWidth(),icon.getIconHeight());//设置面板的宽度和高度

l.setBorder(BorderFactory.createLineBorder(Color.red));//给图片加上红色外框

f.getContentPane().add(l);

f.setSize(900,700);

f.setVisible(true);

l.addMouseListener(new MouseAdapter(){

public void mousePressed(MouseEvent e){

x=e.getX();

y=e.getY();

}

});

l.addMouseMotionListener(new MouseMotionListener(){

public void mouseDragged(MouseEvent e) {

JLabel l = (JLabel)e.getSource();

l.setLocation(l.getX()+e.getX()-x,l.getY()+e.getY()-y);

}

public void mouseMoved(MouseEvent e) {}

});

}

鼠标经过的地方,java图片局部放大代码

没有代码,准备一个隐藏的 JInternalFrame,当鼠标移到一个图片缩略图时,我们通过 JAI (Java Advanced Image, Oracle 网站有下载的 jar) 来把图片缩放成一个 BufferedImage,然后再 myInternalFrame.getMyPreviewPanel().setImageIcon(myBufferedImage); 替换 JInternalFrame 中的 myPreviewPanel 的图标,再把 JInternalFrame 显示到前面来,并给它一个鼠标事件,当鼠标移出这个窗体或鼠标单击时把 JInternalFrame 隐藏回到原来的缩略图列表中。

下面是我预览产品图片时的代码,类似的方法做成的,先缩放在内存中得到一张 BufferedImage 图片,再放到 Preview 预览框中显示出来。你这个局部放大的话,就是把原来的图片通过 JAI 剪切出一个方形再来放大,应该在 JAI 中也有这个吧,不过我没找过,你在它的 API 文档中找方法列出,应该有的。

Java如何让多个图片都按照一定轨迹下落

图片的位移(下落),可以通过修改图片的x,y坐标来实现, 在Swing/Html中,我们可以使用Timer定时(比如每隔100毫秒)去修改图片的x,y坐标即可实现,

多个图片都按照一定的轨迹移动,那都按照自己的轨迹的算法,去定时修改x,y坐标即可.

JavaFX是java先进的图形界面框架, 里面有3D和各种动画, 所以按照轨迹移动,都能轻松实现

JavaFX参考代码如下

import javafx.animation.Animation;

import javafx.animation.Interpolator;

import javafx.animation.PathTransition;

import javafx.animation.RotateTransition;

import javafx.application.Application;

import javafx.geometry.Insets;

import javafx.scene.Group;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.image.ImageView;

import javafx.scene.layout.HBox;

import javafx.scene.shape.MoveTo;

import javafx.scene.shape.Path;

import javafx.scene.shape.QuadCurveTo;

import javafx.stage.Stage;

import javafx.util.Duration;

public class PathAnimateDemo extends Application {

public static void main(String[] args) {

launch(args);

}

@Override

public void start(Stage primaryStage) throws Exception {

ImageView imv=new ImageView(getClass().getResource("ball.png").toExternalForm());

Path path = new Path();// 路径;运动轨迹

MoveTo mt = new MoveTo(20, 50);

QuadCurveTo quadTo2 = new QuadCurveTo(175, 190, 350, 30);

path.getElements().addAll(mt, quadTo2);

HBox hbox = new HBox(10);

Button btnStart = new Button("开始");

Button btnPause = new Button("暂停");

Button btnResume = new Button("继续");

Button btnStop = new Button("结束");

hbox.getChildren().addAll(btnStart, btnPause, btnResume, btnStop);

hbox.setPadding(new Insets(20));

hbox.setLayoutX(80);

hbox.setLayoutY(230);

Group root = new Group();

root.getChildren().addAll(imv, path, hbox); // 不添加path.就可以不显示path了

Scene scene = new Scene(root, 430, 300);

primaryStage.setTitle("JavaFX");

primaryStage.setScene(scene);

primaryStage.show();

//旋转动画设置

RotateTransition rt=new RotateTransition(Duration.millis(1000),imv);

rt.setInterpolator(Interpolator.LINEAR);

rt.setFromAngle(0);

rt.setToAngle(360);

rt.setCycleCount(Animation.INDEFINITE);

rt.play();

//路径动画设置

PathTransition pt = new PathTransition(Duration.millis(800), path, imv);// 路径动画

pt.setCycleCount(Animation.INDEFINITE);

pt.setAutoReverse(true);

btnStart.setOnAction(e - {

pt.playFromStart();// 从头开始播放

});

//----按钮的响应设置---

btnPause.setOnAction(e - {

pt.pause();

});

btnResume.setOnAction(e - {

pt.play(); // 播放

});

btnStop.setOnAction(e - {

pt.jumpTo(new Duration(0));// 跳到第0秒处

pt.stop();

});

}

}


网站栏目:java代码怎么控制图片 java代码怎么控制图片的大小
转载来源:http://bzwzjz.com/article/ddgjose.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设 做网站设计 成都网站设计 重庆网站制作 成都网站设计公司 营销网站建设 成都模版网站建设 成都网站设计 成都网站建设 成都品牌网站建设 手机网站制作 成都网站制作 移动手机网站制作 成都网站制作 成都网站建设 手机网站建设套餐 成都网站建设 四川成都网站建设 成都定制网站建设 网站制作公司 成都网站设计 高端网站设计