java 板


LINE

要不要改用 Canvas? 画布: public class MyCanvas extends Canvas { private Image image; public void paint(final Graphics g) { if (this.image != null) { g.drawImage(this.image, 0, 0, this); } } public void setImage(final Image image) { this.image = image; } } 事件控制器: private MyCanvas imageCanvas; protected void readImage() { final JFileChooser fileChooser = new JFileChooser(); final int state = fileChooser.showOpenDialog(null); if (JFileChooser.APPROVE_OPTION == state) { final File selectedFile = fileChooser.getSelectedFile(); try { final BufferedImage image = ImageIO.read(selectedFile); this.imageCanvas.setImage(image); this.imageCanvas.repaint(); } catch (final IOException e) { e.printStackTrace(); } } } 图形介面 (JApplet): private MyCanvas imageCanvas; public void init() { this.getContentPane().setLayout(new BorderLayout()); this.getContentPane().add(this.imageCanvas, BorderLayout.CENTER); } ※ 引述《mabi (魔人)》之铭言: : 我想写一个button 按下去後图片会移动 : public class MyPanel extends JPanel 里 : public void paintComponent(Graphics g) : { : g.drawImage(back, 0, 0, this); : g.drawImage(abc,x,325,this); : } : public void paint(Graphics g) : { : g.drawImage(back, 0, 0, this); : g.drawImage(abc,x,325,this); : } : back和abc都是Image : Button 的 Handler : class buttonAction implements ActionListener : { : public void actionPerformed(ActionEvent event) : { : Object object = event.getSource(); : if (object == button) : button1_ActionPerformed(event); : } : } : void button1_ActionPerformed(java.awt.event.ActionEvent event) : { : button.setText("赛跑中"); : button.setEnabled(false); : move(); : } : public void move() : { : for (int i=0;i<50;i++) : { : image.setLocation(x+i, y); : image.repaint(); : try : { : Thread.sleep(50); : } : catch(Exception ex) {} : } : } : image为Mypanel : 作出的结果为Button按下去後,图片一直没更新,直到结束最後一个画面才更新... : 若小弟表达的不好这里有完整程式http://momo26.myweb.hinet.net/RSAJava.rar : 谢谢!! --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.247.13
1F:推 mabi:谢谢H45大但我使用Canvas後 还是没解决也... 11/10 22:57
2F:→ mabi:button动作里的for还是不能repaint... 还是我会错意了 谢谢! 11/10 23:00
3F:推 slalala:请用Thread把repaint的逻辑运算分开 11/10 23:32
4F:→ slalala:我习惯实作Runable 11/10 23:33
5F:推 mabi:问题已解决了 感谢H45大和slalala 谢谢! 11/11 00:41
6F:推 slalala:结果勒?我也是新手 想知道原因(敲碗) 11/11 02:06
7F:推 H45:感觉我好像没有提到重点 XD 11/11 11:34
8F:推 mabi:slalala大我只是照您说的 参考http://0rz.tw/5d3gm范例做出的 11/11 15:13
9F:→ slalala:果然是这样 感觉视觉外观 逻辑两样要分开~_~ 11/11 15:48
10F:→ slalala:之前我做processBar也遇到这样的问题/ \ 11/11 15:48







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP