`
sanyecao2314
  • 浏览: 135169 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

控件背景色

 
阅读更多
在bos开发中,将必输控件的背景色设置成特定的颜色,而不是自带的黄色,本以为用这下面样的代码就可以,竟然不好用!
txtTest.setBackground(new Color(220,255,255));//无效,
纳闷!不好用干嘛还公布这个方法,有点欺骗的感觉! 
其实仔细看一下这些控件,它们都是复合控件,本质上是由多件控件组成的,呵呵,有意思!
常用控件:
Java代码  
// 文本框,类:com.kingdee.bos.ctrl.swing.KDFormattedTextField  
txtTest.setCustomBackgroundColor(new Color(220,255,255));  
  
// F7控件,类:com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox  
((KDTextField)prmTest.getEditor()).setCustomBackgroundColor(new Color(220,255,255));  
  
// 日期控件,类:com.kingdee.bos.ctrl.swing.KDDatePicker  
((BasicFormattedTextField)pkTest.getEditor().getEditorComponent())<br>           .setCustomBackgroundColor(new Color(220,255,255));<br>  
下拉列表框与它们不同,需要特殊处理
Java代码  
// 要先写一个内部类,其中实现了ListCellRenderer接口。  
class FontCellRenderer extends JPanel implements ListCellRenderer  
{  
   private String text;  
   private Color background;  
   private Color foreground;  
  
   // 实现ListCellRenderer接口,须要实现此方法,以得取得要渲染的组件  
   public Component getListCellRendererComponent(JList list, Object value, int index,boolean isSelected, boolean cellHasFocus)  
   {  
      text = value.toString();  
      background = new Color(220,255,255);  
      foreground = Color.BLACK;  
      return this;  
   }  
  
   // 重写绘制方法,  
   public void paintComponent(Graphics g)  
   {  
      g.setColor(background);  
  
      // 设置背景色  
      g.fillRect(0, 0, getWidth(), getHeight());   
      g.setColor(foreground);  
  
      //在制定位置绘制文本  
      g.drawString(text, 5, 15);  
   }  
  
   // 设置绘制Cell的大小  
   public Dimension getPreferredSize()  
   {  
      return new Dimension(30, 20);    
   }  
}  
   
    在设置下拉列表框时如下,就好啦
    // 下拉列表框,类:com.kingdee.bos.ctrl.swing.KDComboBox
    lstText.setRenderer(new FontCellRenderer());

 

分享到:
评论

相关推荐

    MFC 按钮控件背景色改变

    本文将详细讨论如何在MFC中实现按钮控件背景色的改变。 首先,我们要了解MFC中的按钮控件通常是CButton类的实例。CButton是MFC对Windows API中的BUTTON类的封装,提供了丰富的功能,包括设置文字、图标以及响应各种...

    控件背景色与文本色

    ### 控件背景色与文本色 #### 知识点概览 本文主要介绍在Windows编程环境中如何设置控件(特别是静态控件)的背景色和文本颜色。文章通过实例展示了如何利用C++语言来实现这一功能,对于初学者来说是非常实用的教程...

    VC控件背景色的变化和获取HID设备属性

    在本文中,我们将深入探讨如何在VC++ MFC应用程序中实现控件背景色的变化,并结合HID(Human Interface Device)USB设备的属性获取。首先,我们来看一下如何响应鼠标按钮事件来改变控件的背景色。 在MFC框架中,...

    VC之列表控件背景色设置

    在消息映射中添加处理函数,并在函数内返回一个画刷对象,该对象的颜色即为列表控件的背景色: ```cpp HBRUSH CMyListCtrl::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { if (pWnd-&gt;GetDlgCtrlID() == ...

    更改DateTimePick控件背景色

    在标题"更改DateTimePick控件背景色"中提到的问题,就是关于如何实现这一功能。 首先,我们要理解.NET Framework中的DateTimePicker控件并没有直接提供修改背景颜色的属性。不过,我们可以利用自定义绘制(Custom ...

    C#WinForm开发:将控件背景色设置为透明

    通过将控件的背景色设置为一个半透明(Alpha通道值不为255)的颜色,可以实现视觉上的透明效果。然而,这仅是颜色上的透明,控件本身仍然是不透明的。为了实现真正的透明,我们需要进一步处理。 3. **使用透明键**...

    CListCtrl控件背景颜色网格色彩

    CListCtrl控件背景颜色网格色彩,用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何...

    C# TabConTrol控件背景颜色问题

    这是因为WinForm的TabControl控件在默认情况下并没有提供直接设置控件背景图片的属性,使得直接修改背景变得复杂。 针对上述问题,文档首先指出,当使用Visual Studio自带的美化样式来美化TabControl控件时,需要将...

    C#自定义控件背景色透明的方法

    它允许控件支持透明背景颜色,但并不意味着控件本身会变得完全透明,而是会继承容器的背景颜色或图像。因此,当一个控件覆盖在其他控件之上时,即使设置了透明背景色,被覆盖的控件仍然会被隐藏。 要使控件真正透明...

    改变树控件背景颜色的VC源代码

    `OnCtlColor`用于设置控件的背景颜色,`OnEraseBKGND`处理窗口背景的擦除,而`OnPaint`则确保在需要重新绘制时颜色依然正确。 `www.pudn.com.txt`可能是源代码下载的来源信息,而"改变树控件背景颜色的VC源代码"很...

    MFC中窗体及控件背景色

    ### MFC中窗体及控件背景色的设置方法 #### 概述 在MFC(Microsoft Foundation Classes)中,自定义窗体及控件的背景色是一项常见但实用的功能。这不仅可以提升用户界面的美观度,还可以提高用户体验。本文将详细...

    改变EditControl控件背景颜色

    改变EditControl控件的背景颜色 在参数文本框中输入数值,如果当前值为奇数,则状态文本框背景色为绿色,文本内容为在线;否则,状态文本框背景色为红色,文本内容为离线。默认情况下,状态文本框背景色为红色,文本...

    控件背景色+颜色渐变的背景+静态文本动态显示无重影

    本文将深入探讨如何实现“控件背景色+颜色渐变的背景+静态文本动态显示无重影”的技术要点,以帮助开发者和设计师提升应用的视觉效果和用户交互体验。 首先,我们来看“控件背景色”。在GUI(图形用户界面)设计中...

    QPropertyAnimation,自定义动画,控件背景色字体色变换

    要实现“控件背景色字体颜色变化”的动画,我们需要以下几个步骤: 1. **创建QPropertyAnimation实例**:首先,我们需要创建一个QPropertyAnimation对象,并关联到要进行动画的控件。例如,我们可以选择一个`QLabel...

    ios开发控件背景色渐变

    本教程将详细介绍如何在iOS应用中实现控件背景色的渐变效果。 首先,我们需要了解渐变色的基本概念。在色彩学中,渐变是指颜色从一种色调平滑过渡到另一种色调的过程。在iOS中,我们可以使用Core Graphics(CG)...

    VC改变控件的背景颜色

    在Visual C++ (VC) 的MFC框架下,修改控件背景色是一项常见的需求。本篇文章将详细介绍两种不同的方法:一种是通过重载`OnCtlColor()`函数来改变大多数控件的背景色;另一种则是通过自定义控件的方式来改变按钮的...

    VC MFC CEDIT派生类 控件背景色 字体修改

    在`OnPaint()`中,我们用`FillSolidRect()`填充编辑框的矩形区域,设置为指定的背景颜色。而在`OnTimer()`中,我们可以通过`GetLineCount()`获取当前编辑框中的行数,当行数超过预设的最大可见行数时,更新滚动条...

    改变控件的背景颜色(LISTBOX)

    在编程领域,特别是涉及到用户界面(UI)设计时,改变控件的背景颜色是常见的需求。控件是用户与应用程序交互的基本元素,如按钮、文本框、列表框等。在这个场景中,我们关注的是“LISTBOX”,即列表框,一个可以...

    如何在VC中改变控件的背景色

    重载`OnCtlColor()`后,开发者可以在其中创建并返回一个自定义的画刷句柄,从而实现对特定控件背景色的改变。 #### 1.1 OnCtlColor()函数与控件消息 `OnCtlColor()`函数负责捕捉并处理控件的绘制消息,包括: - `...

    VC6 Tab控件 改变标签和背景颜色 程序源代码

    在本文中,我们将深入探讨如何在Visual C++ 6 (简称VC6)环境中自定义Tab控件的颜色,包括标签和背景色。这个程序源代码提供了一个实用的例子,可以帮助开发者实现这一功能,使得Tab控件与主窗口背景颜色一致,提高...

Global site tag (gtag.js) - Google Analytics