java Swing ImageIO 网络读取图片

java Swing ImageIO 网络读取图片,第1张

Java Socket去读取数据的时候会产生阻塞,BufferedImage image = ImageIOread(sgetInputStream())你这句产生了阻塞,所以数据一直没读出来你可以在服务器端发送数据后面加个‘\r\n’,表明数据发送完。不然客户端一直在等,你可以尝试用javaNIO包,使用非阻塞的方式

URL对象中前而几个方法都非常容易理解,而该对象提供的openStream()可以读取该 URL资源的InputStream,通过该方法可以非常方便地读取远程资源。

下面的程序示范如何通过URL类读取远程资源:

1)只显示网络

1)只显示网络

引用处理的java类:

package dujunkingurlgetimage;

import javaioInputStream;

import javanetURL;

import androidappActivity;

import androidgraphicsBitmap;

import androidgraphicsBitmapFactory;

import androidosBundle;

import androidosHandler;

import androidosMessage;

import androidviewMenu;

import androidviewMenuItem;

import androidwidgetImageView;

public class MainActivity extends Activity {

Bitmap bitmap;

ImageView imageview;

Handler handler=new Handler(){

@Override

public void handleMessage(Message msg) {

if (msgwhat==0x9527) {

//显示从网上下载的

imageviewsetImageBitmap(bitmap);

}

}

};

@Override

protected void onCreate(Bundle savedInstanceState) {

superonCreate(savedInstanceState);

setContentView(Rlayoutactivity_main);

imageview=(ImageView)findViewById(RidimageView1);

//创建并启动一个新线程用于从网络上下载

new Thread(){

@Override

public void run() {

try {

//创建一个url对象

URL url=new URL(">

//打开URL对应的资源输入流

InputStream is= urlopenStream();

//从InputStream流中解析出

bitmap = BitmapFactorydecodeStream(is);

//  imageviewsetImageBitmap(bitmap);

//发送消息,通知UI组件显示

handlersendEmptyMessage(0x9527);

//关闭输入流

isclose();

} catch (Exception e) {

eprintStackTrace();

}

}

}start();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present

getMenuInflater()inflate(Rmenumain, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifestxml

int id = itemgetItemId();

if (id == Ridaction_settings) {

return true;

}

return superonOptionsItemSelected(item);

}

}

文本框定义onBlur事件(失去焦点触发)或者在别的按钮什么的地方定义onclick(点击触发)事件,在触发的函数中获取文本框中文本内容,填写到需要填写的地方就好了。取值赋值可以用jquery,直接用js代码写也可以,具体例子

<html>

<head>

<script type="text/javascript">

function upperCase()

{

var x=documentgetElementById("fname")value

documentgetElementById("fname")value=xtoUpperCase()

}

</script>

</head>

<body>

输入您的姓名:

<input type="text" id="fname" onblur="upperCase()" />

</body>

</html>

你把代码复制到文本里,改成html,打开看下,这个是原生js写的。x=那句是取值,下边是赋值的,如果这个不懂,那先学点javascript和html dom这方面的东西。

以上就是关于java Swing ImageIO 网络读取图片全部的内容,包括:java Swing ImageIO 网络读取图片、怎样在java里用URL引入图片引入图片、java 要怎样才能获取图片地址和连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9521610.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存