用Swing开发应用程序也有一些时间了,Swing 提供的组件运用应该没什么问题,现在在想一个问题,开发自己的可视化界面,当然不是做重复造轮子的事情,而是想实现一些特有的功能!举个例子,就拿 JTabbedPane 这个组件来说:
默认的 JTabbedPane 的标签上面只有String的title, 现在想实现成 后面带一个 X 的按钮,就跟 Eclipse 中显示文件内容一样!
如何扩展 JTabbedPane 或者 如何从头实现 ?简单一点的比如把现有的组件组装在一起,形成一个新的组件,似乎还好实现,可是要实现一些 Swing 中没有的,或者 扩展 Swing 中的现有组件,请高手支点!

解决方案 »

  1.   

    Swing组件大多采用MVC模式,
    M就是模型,无需多说,是指业务数据,一般由UI类负责模型数据在组件上绘制呈现(V)同时也提供控制器(C)的功能。
    Swing的源代码本身就是很好的教材,你可以从简单的组件开始,通过源码看一看各组件是怎么实现的,那么自然就可以根据自己的需求定制了。
      

  2.   

    Swing的组件和自己实现的本质上没有区别
      

  3.   

    你可以从简单的做起,自己实现一个JLabel
      

  4.   

    OpenSwing里面有个带关闭按钮的TabbedPane,继承自JTabbedPane
      

  5.   

    OpenSwing ?哪里可以获得 ?
      

  6.   

    http://blog.elevenworks.com
    这个网页里的例子有你需要的, 如果看懂了, 呵呵, 水平会进步很多.
    都是改变Swing底层的东西, 然后实现自己定义的组件, 效果非常好.
      

  7.   

    LZ!我给你一个方向你去买本《Swing hack》如何!我已经给你答案了!给我分!
      

  8.   

    《Swing hack》
    由谁编写?哪个出版社?
      

  9.   

    http://blog.elevenworks.com 
    我这里打不开呢,估计被防火墙给毙了,能把文章 贴过来么,谢谢 ! 或者 发我邮箱 [email protected] , 谢谢 !
      

  10.   

    openswing  
    swingx
    infonode
    l2fprod

    这些开源的包以经为你准备好了很多有特点的SWING组件,直接用就好了
    祝:好运!
      

  11.   

    《Swing Hacks》Publisher: O'Reilly;
    Chris Adamson, Joshua Marinacci;