java swing编程,java swing菜鸟教程

  java swing编程,java swing菜鸟教程

  这个关于java swing接口的程序是我以前写过的代码。现在只是更新了很多功能,改进了界面,让界面更加友好,同时也让程序更加稳定可靠。即便如此,这个程序在运行时还是有缺陷的。比如加载网络图片的时候,好像有点卡。不知道是不是网速的原因,网络图片的操作让整个界面反应迟钝。如果你是高手,相信你可以自己完善这个程序,最终让它更加完美。我会在后续工作中完善这个程序。事实上,当java作为接口,尤其是本地客户端的应用软件时,java是完全失败的。想象一下,为了运行一个java程序,一个用户不得不安装一个用户不想安装的庞大而笨拙的虚拟机!而且有时候跑起来像狗爬一样!这是个笑话,但这是真的。难怪java在本地应用上被C彻底打败了。如果是脱离了网络环境,java的发展可能没有现在这么好!Java现在好像不太景气。毕竟有那么多语言虎视眈眈,试图取代java。java的母公司孙被甲骨文收购。真不知道是好事还是坏事。别说闲话了!这个程序比较大,一千多行(其实不大)。我把源程序做成压缩包上传到了CSDN,其中CutImg类是一个单独的文件,有兴趣的朋友可以自己下载。需要注意的是,剪切功能只能实现本地图片的剪切,不能实现网络图片的剪切。java高手可以自己实现这个功能。以下是下载页面的文本链接:

  文字链接:http://download.csdn.net/download/zhulike2011/5524851

  以下是一些片段:

  public Paint(Graphics G){//用小球画图的方法,用Graphics类来画。

  g . set color(pane . get background());//这个语句是用来擦除球的轨迹的,这样你就知道这个语句行不行了。

  g.fillOval(tempX,tempY,XSIZE,YSIZE);

  g . set color(c);

  g.fillOval(x,y,XSIZE,YSIZE);

  tempX=x;tempY=y;

  }

  public void move(rectangle 2dg){//这个方法用来控制球的移动,确定球是否到达边界。

  x=dx

  y=dy

  if(x ^ 2){

  dx=-dx;

  }

  if(x XSIZE retangleX){

  dx=-dx;

  }

  if(y g.getMinY() YSIZE){

  dy=-dy;

  }

  if(y YSIZE 40=retangleY){

  dy=-dy;

  }

  }

  /**

  *剪贴板中是否有可供粘贴的文本数据?

  *

  * @return true是文本数据。

  */

  public boolean isClipboardString(){

  布尔b=假;

  clipboard clipboard=this . gettoolkit()。getsystem clipboard();

  可转移内容=clipboard . get contents(this);

  尝试{

  if(content . gettransferdata(data flavor . String flavor)instance of String){

  b=真;

  }

  } catch(异常e) {

  }

  返回b;

  }

  //此方法用于读取图片

  尝试{

  img=ImageIO.read(

  新建文件( D:\ \我的文档\ \我的图片\ \ sb . gif );//不能显示动态,只能显示静态

  img=img.getScaledInstance(宽度,高度,图像。SCALE _ DEFAULT);

  北京=新ImageIcon(img);

  } catch (IOException e) {

  e . printstacktrace();

  }

  下面是构造函数方法。如果你能理解这个构造函数的作用,你就能写出整个程序了!

  公共测试演示(){

  cot=this . getcontentpane();

  setSize(700,500);

  pane=new Beijing pane(this . getwidth()、this . getheight());

  panBall=new xiaoqiu pane(this . getwidth()、this . getheight());

  cleary pane=new JPanel();

  clearity pane . set visible(true);

  clearitypane . seto paque(false);//透明效果

  clearityPane.setBounds(新矩形(700,450));

  panball . set layout(new BorderLayout());

  buttonbalpane . add(changebaccolor);

  buttonbalpane . add(changeBallColor);

  buttonbalpane . add(start _ ball);

  button ball . set layout(new BorderLayout());

  button ball . set background(color . red);

  button ball . add(buttonbalpane,BorderLayout。南);

  label.setSize(100,150);

  ball=new BallDemo(this.getSize().width-20,this.getSize().身高-30,纽扣球);

  透明窗格。add(BBB);

  窗格。set layout(new BorderLayout());

  BBB。设置可见(假);

  潘波尔。添加(透明窗格,边框布局.中心);//添加透明面板

  按钮窗格。添加(换图);

  按钮窗格。添加(改变颜色);

  按钮窗格。添加(start _ re tangle);

  panBall.add(buttonpane,BorderLayout .南);

  //cot。添加(窗格);

  平移按钮。添加(Bt);

  平移按钮。添加(bt0);

  平移按钮。添加(bt1);

  平移按钮。添加(bt2);

  平移按钮。添加(bt3);

  平移按钮。添加(bt4);

  菜单栏。添加(菜单打开);

  菜单栏。添加(菜单原生);

  菜单栏。添加(菜单网);

  菜单栏。添加(菜单退出);

  菜单栏。添加(菜单保存);

  pane.add(panButton,BorderLayout .南);

  pane.add(菜单栏,BorderLayout .北);

  pane.add(label,BorderLayout .中心);

  更换图片。addactionlistener(this);

  改变颜色。addactionlistener(this);

  更改ballcolor。addactionlistener(this);

  changebackcolor。addactionlistener(this);

  重新开始纠结。addactionlistener(this);//给矩形小球启动按钮注册监听

  开始_球。addactionlistener(this);//给小球启动按钮注册监听

  窗格。addmouse侦听器(this);

  bt0。addactionlistener(this);

  Bt。addactionlistener(this);

  bt1。addactionlistener(this);

  bt2。addactionlistener(this);

  bt3。addactionlistener(this);

  bt4。addactionlistener(this);

  标签。addmouse侦听器(this);//给图片注册监听

  menus ave . addmouse监听器(this);

  菜单打开。addmouse侦听器(this);

  本地菜单。addmouse侦听器(this);

  菜单网。addmouse侦听器(this);

  菜单退出。addmouse侦听器(this);

  jtp。addchangelistener(this);//给选项卡注册变化接口监听

  jtp.add(默认面板,窗格);

  jtp.add(矩形小球运动,panBall);

  jtp.add(小球运动,buttonBall);

  小床。添加(jtp);

  这个。setdefaultcloseoperation(JFrame .DISPOSE _ ON _ CLOSE);

  设置可见(真);

  }

  下面是效果图:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: