当前位置:w88优德官网网文章中心网站开发JSP → 用java自己写控制

用java自己写控制

减小字体 增大字体 作者:admin  来源:www.cuoxin.com  发布时间:2011-2-8 0:56:43
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//颜色选择下拉框演示public class IconComboBoxDemo extends JFrame{ JLabel iconLabel=null;  //用来响应列表框选择的变化
 JComboBox iconComboBox=null;  //定制的选择下拉框
    public IconComboBoxDemo(){      //定义Object二维数组,用于初始化下拉框,参数依次为图标,显示文本,提示文本
      Object[][] obj={
       {new ImageIcon("1.gif"),"旅游","提供旅游的最新信息"},
       {new ImageIcon("2.gif"),"音乐","提供最新的音乐资讯,古典的、流行的..."},
       {new ImageIcon("3.gif"),"聊天","与朋友聊天"},
       {new ImageIcon("4.gif"),"影视","影视娱乐"},
       {new ImageIcon("5.gif"),"家居","家居世界"},
      };
      //初始化下拉框
      iconComboBox = new JComboBox();
      iconComboBox.setMaximumRowCount(3);  //设置最大可视行数
      iconComboBox.setRenderer(new IconRenderer()); //设置单元绘制器
      for (int i=0;i<obj.length;i++){   //增加数组中的所有元素到下拉框中
        iconComboBox.addItem(obj[i]);
      }

      //初始化iconLabel信息
      iconLabel = new JLabel();
      //下拉框事件处理,用匿名类实现
      iconComboBox.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent evt){  //处理事件
         Object[] obj = (Object[])iconComboBox.getSelectedItem();  //得到选择的内容,此处为一维数组
         iconLabel.setIcon((Icon)obj[0]);  //设置iconLabel的图标
         iconLabel.setText(obj[1].toString());  //设置iconLabel的文本
       }
      });
      //增加组件到主窗体上
      this.getContentPane().setLayout(new BorderLayout());  //设置布局管理器
      this.getContentPane().add(iconComboBox,BorderLayout.NORTH); //在上方增加下拉框
      this.getContentPane().add(iconLabel,BorderLayout.CENTER);  //在中间增加iconLabel,用于响应选择的变化
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //关闭窗口时退出程序
      this.setSize(350,260);  //设置窗口尺寸
      this.setVisible(true);  //显示窗口
    }
    public static void main(String[] args){
      new IconComboBoxDemo();
    }
}
import java.awt.*;
import javax.swing.*;
import javax.swing.border.LineBorder;
//带图标下拉框的单元绘制器,从JLabel类扩展,实现ListCellRenderer接口public class IconRenderer extends JLabel implements ListCellRenderer{   public Component getListCellRendererComponent(JList list, Object obj, int row, boolean sel, boolean hasFocus) {
      Object[] cell = (Object[])obj;   //得到行的参数
      setIcon((Icon)cell[0]);  //设置图标
      setText(cell[1].toString()); //设置文本
      setToolTipText(cell[2].toString());  //设置提示文本
      setBorder(new LineBorder(Color.WHITE)); //设置边界
      if (sel){
        setForeground(Color.MAGENTA);  //如果选中了,设置文本颜色为品红色
      }
      else{
        setForeground(list.getForeground()); //如果未选中,设置文本颜色为默认色
      }
      return this;
   }
}

本文引用网址:
在下列搜索引擎中搜索“用java自己写控制”的相关信息:
谷歌搜索 百度搜索 雅虎搜索 搜狗搜索 搜搜搜索 必应搜索 有道搜索
你可能还喜欢以下文章
  • 1中关村“艳照门” 前妻群发老公...
  • 2中关村艳照门小三刁黎黎资料遭...
  • 3中关村“小三门”艳照图片 小三...
  • 4苏紫紫形体艺术 苏紫紫全套照片...
  • 5upload.360safe.com 金山称360...
  • 1如何做SEO才能让百度喜欢?
  • 2什么是子优德w88官网?什么是顶级优德w88官网...
  • 3值得关注的五个国外SEO博客
  • 4六大类:常用的SEO工具一览
  • 5给做英文站新人的一些seo建议
  • 1她的胸到底有多大
  • 2女医生给我的四次体检
  • 32011春晚搞笑点评及春晚对联
  • 42011年春节联欢晚会经典流行语...
  • 5为什么而读书?
  • 1shell经典实例分享
  • 2Linux中的系统服务——Daemon浅...
  • 3linux中如何修改指定用户的密码...
  • 4Linux环境图形化VNC服务安装、...
  • 5Ubuntu下配置ftp服务端
  • 赞助商广告

    图片文章导读