作业来源:网络121第6周实验——GUI及多媒体编程(http://blog.csdn.net/dyz1982/article/details/23155447)
发表博文十大注意事项
关于图、文、标题
(1)在CSDN发表博文时,可以先在编辑器中敲入若干空行(如7-8行),留待以后使用;博文写好后,删除多余空行。
(2)Java等代码与其他文字、图片之间空1-2行(上下都是),否则容易引起把图片连到代码片段上,图片显示有问题,代码也有问题等错误。
(3)发表博文后,请一定要自己检查一下,是否符合预想的场景。博文一方面是保存自己做过的工作;另一方面也是向他人分享我们的工作。所以博文力求美观。博文较长,请适当增加子标题;博文标题应该简单明了,概括博文大意(见标题知内容)。
关于代码
(4)代码中有适当的注释,方便他人阅读。
(5)所有的代码,请自己在Eclipse中运行过,并且在复制之前,先 Ctrl+A(全选),再 Ctrl+I (Correct Indentation,正确缩进),方便他人与自己阅读。
(6)所有的代码或代码片段,请均使用代码编辑器,而不要直接复制到博文中。
关于资源、结果与感想
(7)把运行结果截图后发布在博文中。
(8)把相关的资源(如需要的图片等),保存到百度网盘后,再在博文中发布相关的链接。
(9)每篇博文,写下3-5句自己的总结与感想、遇到问题怎样解决的思路等,功德无量。
(10)得到了他人的帮助(通过博文、代码等),在博文中表示谢意,以及相关的链接,方便其他网友按图索翼,加深理解。
参考博文示例: 第三周作业-实现随机点名的签到程序 第五需求,头像版(学生-陈鹏),【实现】网络131第6周实验——Java基本语法(闰年、等级、Fibonacci数列、冒泡排序)(教师-Me)
1:程序练手。教材P201 例9-13 缩放显示图像,先把代码敲入Eclipse,运行查看结果,理解代码意义;类名:ShowImg。然后尝试把Applet改写为Application,即含有main主方法的应用程序,类似于P199 例9-12;类名:ShowImgApp。
博文标题:第6周作业-图像缩放显示
提示
(1)相关图片下载(直接点击即可下载):cupilse.gif (http://pan.baidu.com/s/1mgMArRq),smallisle.gif (http://pan.baidu.com/s/1gdzJRkJ)。把图片放在相应的Project目录下。
(2)参考了《深入浅出Java设计/Head First Java》第12章 图形用户接口(P353)(书籍下载:中文,英文)
运行结果
import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; /** * GUI图形用户界面 * 控件捕获某个动作(以JButton为例) * 1. 声明JButton控件;(L24) * 2. 初始化控件,并添加到相应的容器中;(L42-43) * 3. 为控件注册监听器; (L44) * 4. 编写事件处理方法; (L56-76) * * @author 丁又专 * */ public class ShowImgApp3 implements ActionListener{ //成员变量 JButton button; JLabel label; JFrame frame; boolean flag = false; //控制button按钮的动作 public static void main(String[] args) { // TODO Auto-generated method stub ShowImgApp3 gui = new ShowImgApp3(); } public ShowImgApp3(){ frame = new JFrame(); frame.setTitle("显示图片"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置容器的布局 frame.getContentPane().setLayout(new BorderLayout()); button = new JButton("Click me"); frame.getContentPane().add(button,BorderLayout.NORTH); button.addActionListener(this); //图片cupisle.gif放在工程目录下 label = new JLabel(new ImageIcon("cupisle.gif")); frame.getContentPane().add(label,BorderLayout.WEST); frame.setSize(700,600); frame.setLocationRelativeTo(null); frame.setVisible(true); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub if(flag==false){ button.setText("哈哈!"); label.setVisible(false); label = new JLabel(new ImageIcon("smallisle.gif")); frame.getContentPane().add(label,BorderLayout.EAST); flag = true; }else{ button.setText("Click me"); label.setVisible(false); label = new JLabel(new ImageIcon("cupisle.gif")); frame.getContentPane().add(label,BorderLayout.WEST); flag = false; } } }