成都创新互联网站制作重庆分公司

安卓切换图片JAVA代码 安卓切换图片java代码是多少

java图形化界面中如果我要设置四个按钮,然后摁每个按钮可以切换不同的图片,谁能帮我做一下代码给我参考

参考代码,

创新互联建站是一家专注于成都网站制作、做网站、外贸营销网站建设与策划设计,宿松网站建设哪家好?创新互联建站做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:宿松等地区。宿松做网站价格咨询:18982081108

注意图片的路径,拿不准的话,就使用绝对路径吧

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

//我的图片路径是 src\\images\\1.gif  .有四张 从1.jpg~~4.jpg

public class ImageDemo extends JFrame {

JLabel jl;

JPanel jp;

public ImageDemo() {

jp = new JPanel();

int i;

for (i = 0; i  4; i++) {

if(i ==0){//初始化的时候,默认显示的图片

jl = new JLabel(new ImageIcon("src\\images\\"+1+".gif"));

}

//按钮

JButton jb = new JButton("第"+(i+1)+"张图");

int z = i;

//当按钮点击的时候

jb.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

//设置jl的图片

jl.setIcon(new ImageIcon("src\\images\\"+(z+1)+".gif"));

}

});

jp.add(jb);

}

this.setLocation(200, 120);

this.setSize(500,200);

this.setLayout(new BorderLayout());

this.add(jl);

this.add(jp,BorderLayout.SOUTH);

this.setTitle("图片浏览");

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setVisible(true);

}

public static void main(String[] args) {

new ImageDemo();

}

}

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

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

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

安卓开发时,如何在java代码中实现把图片按钮显示一张图,两秒钟后再显示一张图,具体代码是怎么样的?

你可以这样做,开启一个线程,这个线程启动后睡两秒,两秒之后给主线程发一个消息,在主线程的handleMessage里面跳转到另一个界面

JAVA中怎么用线程实现图片的切换?

自己写的代码。能通过测试

题目中的要求用线程实现图片的切换

主要有两种方式可以实现。一种是Swing包下的Timer类。一种是Thread类

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MousDemo extends JFrame {

MyJPanel mp;

int index;

ImageIcon[] imgs = { new ImageIcon("C:\\Users\\lenovo\\Desktop\\a.png"),

new ImageIcon("C:\\Users\\lenovo\\Desktop\\b.png") };

public MousDemo() {

mp = new MyJPanel(false);

this.add(mp);

this.setSize(300, 200);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setTitle("鼠标窗口");

this.setVisible(true);

/**

 * 方式一,使用TImer来切换图片

 * Swing下的Timer组件,个人觉得非常适合

 * Timer(200,new ActionListener());意思就是每200毫秒执行一次ActionListener里面的方法

 * */

Timer timer = new Timer(200,new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

mp.flag = !mp.flag;

mp.repaint();

}

});

timer.start();

/**

 * 方法二:

 * 线程的方式

 * */

// new Thread(new Runnable() {

//

// @Override

// public void run() {

// while(true){

// mp.flag = !mp.flag;

// mp.repaint();

// try {

// Thread.sleep(200);

// } catch (InterruptedException e) {

// e.printStackTrace();

// }

// }

//

// }

// }).start();

}

public static void main(String[] args) {

new MousDemo();

}

class MyJPanel extends JPanel{

boolean flag;

public MyJPanel(boolean flag) {

this.flag = flag;

}

@Override

public void paint(Graphics g) {

super.paint(g);

if(flag == false){

g.drawImage(imgs[0].getImage(), 0, 0,this);

}else{

g.drawImage(imgs[1].getImage(), 0, 0,this);

}

}

}

}

android怎么viewpager实现循环切换图片

Android中的ViewPager则实现了左右滑动的效果,ViewPager类提供了多界面切换的新效果。利用ViewPager实现图片循环滚动代码如下:

1、首先是布局文件,使用了一个ViewPager控件:       

  

span style="padding: 0px; margin: 0px; font-size: 14px;"RelativeLayout xmlns:android=""

xmlns:tools=""

android:layout_width="match_parent"

android:layout_height="match_parent" 

android.support.v4.view.ViewPager

android:id="@+id/viewpager"

android:layout_width="match_parent"

android:layout_height="match_parent" 

/android.support.v4.view.ViewPager

LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_alignBottom="@id/viewpager"

android:background="#33000000"

android:orientation="vertical"

android:padding="5dip" 

TextView

android:id="@+id/tv_image_description"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:text="第一个引导页面"

android:textColor="@android:color/white"

android:textSize="14sp" /

LinearLayout

android:id="@+id/ll_points"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="5dip"

android:layout_gravity="center_horizontal"

android:orientation="horizontal" 

/LinearLayout

/LinearLayout

/RelativeLayout/span

2、接下来实现一个继承PagerAdapter的MyAdapter类,实现一个PagerAdapter,代码如下:

span style="padding: 0px; margin: 0px; font-size: 14px;"package com.example.viewpagertest;

import java.util.List;

import android.support.v4.view.PagerAdapter;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ImageView;

class ViewPagerAdapter extends PagerAdapter {

private ListImageView mImageViewList;

public ViewPagerAdapter(ListImageView imageViewList) {

super();

this.mImageViewList = imageViewList;

}

/**

* 该方法将返回所包含的 Item总个数。为了实现一种循环滚动的效果,返回了基本整型的最大值,这样就会创建很多的Item,

* 其实这并非是真正的无限循环。

*/

@Override

public int getCount() {

return Integer.MAX_VALUE;

}

/**

* 判断出去的view是否等于进来的view 如果为true直接复用

*/

@Override

public boolean isViewFromObject(View arg0, Object arg1) {

return arg0 == arg1;

}

/**

* 销毁预加载以外的view对象, 会把需要销毁的对象的索引位置传进来,就是position,

* 因为mImageViewList只有五条数据,而position将会取到很大的值,

* 所以使用取余数的方法来获取每一条数据项。

*/

@Override

public void destroyItem(ViewGroup container, int position, Object object) {

container.removeView(mImageViewList.get(position % mImageViewList.size()));

}

/**

* 创建一个view,

*/

@Override

public Object instantiateItem(ViewGroup container, int position) {

container.addView(mImageViewList.get(position % mImageViewList.size()));

return mImageViewList.get(position % mImageViewList.size());

}

}

/span

3、最后是主界面部分的代码:

span style="padding: 0px; margin: 0px; font-size: 14px;"package com.example.viewpagertest;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.os.SystemClock;

import android.support.v4.view.ViewPager;

import android.support.v4.view.ViewPager.OnPageChangeListener;

import android.view.View;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.LinearLayout.LayoutParams;

import android.widget.TextView;

public class MainActivity extends Activity implements OnPageChangeListener {

private ListImageView imageViewList;

private TextView tvDescription;

private LinearLayout llPoints;

private String[] imageDescriptions;

private int previousSelectPosition = 0;

private ViewPager mViewPager;

private boolean isLoop = true;

private Handler handler = new Handler() {

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

mViewPager.setCurrentItem(mViewPager.getCurrentItem() + 1);

}

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setView();

initView();

}

public void setView() {

setContentView(R.layout.activity_splash_viewpager);

// 自动切换页面功能

new Thread(new Runnable() {

@Override

public void run() {

while (isLoop) {

SystemClock.sleep(2000);

handler.sendEmptyMessage(0);

}

}

}).start();

}

public void initView() {

mViewPager = (ViewPager) findViewById(R.id.viewpager);

tvDescription = (TextView) findViewById(R.id.tv_image_description);

llPoints = (LinearLayout) findViewById(R.id.ll_points);

prepareData();

ViewPagerAdapter adapter = new ViewPagerAdapter(imageViewList);

mViewPager.setAdapter(adapter);

mViewPager.setOnPageChangeListener(this);

tvDescription.setText(imageDescriptions[previousSelectPosition]);

llPoints.getChildAt(previousSelectPosition).setEnabled(true);

/**

* 2147483647 / 2 = 1073741820 - 1 

* 设置ViewPager的当前项为一个比较大的数,以便一开始就可以左右循环滑动

*/

int n = Integer.MAX_VALUE / 2 % imageViewList.size();

int itemPosition = Integer.MAX_VALUE / 2 - n;

mViewPager.setCurrentItem(itemPosition);

}

private void prepareData() {

imageViewList = new ArrayListImageView();

int[] imageResIDs = getImageResIDs();

imageDescriptions = getImageDescription();

ImageView iv;

View view;

for (int i = 0; i  imageResIDs.length; i++) {

iv = new ImageView(this);

iv.setBackgroundResource(imageResIDs[i]);

imageViewList.add(iv);

// 添加点view对象

view = new View(this);

view.setBackgroundDrawable(getResources().getDrawable(R.drawable.point_background));

LayoutParams lp = new LayoutParams(5, 5);

lp.leftMargin = 10;

view.setLayoutParams(lp);

view.setEnabled(false);

llPoints.addView(view);

}

}

private int[] getImageResIDs() {

return new int[]{

R.drawable.bg1,

R.drawable.bg2,

R.drawable.bg3,

R.drawable.pic_01,

R.drawable.pic_02

};

}

private String[] getImageDescription() {

return new String[]{

"第一个引导页面",

"第二个引导页面",

"第三个引导页面",

"第四个引导页面",

"第五个引导页面"

};

}

@Override

public void onPageScrollStateChanged(int arg0) {

}

@Override

public void onPageScrolled(int arg0, float arg1, int arg2) {

}

@Override

public void onPageSelected(int position) {

// 改变图片的描述信息

tvDescription.setText(imageDescriptions[position % imageViewList.size()]);

// 切换选中的点,把前一个点置为normal状态

llPoints.getChildAt(previousSelectPosition).setEnabled(false);

// 把当前选中的position对应的点置为enabled状态

llPoints.getChildAt(position % imageViewList.size()).setEnabled(true);

previousSelectPosition = position  % imageViewList.size();

}

@Override

protected void onDestroy() {

super.onDestroy();

isLoop = false;

}

}

/span


新闻标题:安卓切换图片JAVA代码 安卓切换图片java代码是多少
URL网址:http://cxhlcq.com/article/docecso.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部