【实现】网络121第6周实验——GUI及多媒体编程

    作业来源:网络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)(书籍下载:中文,英文)

运行结果

【实现】网络121第6周实验——GUI及多媒体编程_第1张图片【实现】网络121第6周实验——GUI及多媒体编程_第2张图片


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;		
		}
		
	}
}





你可能感兴趣的:(java,CSDN博文注意事项,GUI编程)