请问我怎么可以改变jcolorchooser 对话框 中按钮文本,,中文状态转化为英语写的按钮如中文的确定,,换成英文的确定,,,怎么搞定它, 在不重装英文版jdk的基础下?

解决方案 »

  1.   

    调用这个方法public void setApproveButtonText(String approveButtonText)
      

  2.   

    通过UIManager来设置!UIManager.put("ColorChooser.okText", OK按钮要显示的);
    UIManager.put("ColorChooser.cancelText", Cancel按钮要显示的);
    UIManager.put("ColorChooser.resetText", Reset按钮要显示的);/////////////////////////////////////////////////////////////////////
    String okString = UIManager.getString("ColorChooser.okText");
    String cancelString = UIManager.getString("ColorChooser.cancelText");
    String resetString = UIManager.getString("ColorChooser.resetText");
      

  3.   


    纯属瞎说,setApproveButtonText是FileChooser的方法!就使用我上面提到的方法,重设UIManager中的ColorChooser属性来实现
      

  4.   

    另外再说一句,JDK是不分英语和中文的,他是根据你的系统环境来自动选择语言的
      

  5.   

    我的是xp 英文版的..为什么还显示中文?????String okString = UIManager.getString("ColorChooser.okText");
    String cancelString = UIManager.getString("ColorChooser.cancelText");
    String resetString = UIManager.getString("ColorChooser.resetText");
    要放在哪里,,,在能改变???????
      

  6.   

    UIManager对属性的设置要方法程序初始化之前,才能设置是当前的设置生效。public static void main(String[] args){
    UIManager.put("ColorChooser.okText", "OK"); 
    UIManager.put("ColorChooser.cancelText", "Cancel"); 
    UIManager.put("ColorChooser.resetText", "Reset"); 
    下面才是你的界面初始化:
    ......//////////////////////////////////////////////////////////////
    这些都不需要你来调用,你只要对下面的三个属性put进去相应的值就可以了。
    String okString = UIManager.getString("ColorChooser.okText"); 
    String cancelString = UIManager.getString("ColorChooser.cancelText"); 
    String resetString = UIManager.getString("ColorChooser.resetText"); 
      

  7.   

    对所有按钮的文字已经改正过来了.但是 在  样品(s)  怎么变成中文了,,还有在RGB 选项里也有好多中文,,怎么才能换掉了...
      

  8.   

    看JColorChooser源码,是你最好的老师
      

  9.   

    按F3跟进源码,实际上JColorChooser就是一个面板,上面添加的是AbstractColorChooserPanel的子类
      

  10.   

    你看代码就知道了,JDK中的属性也是使用 key-value 的形式,我们使用的 UIManager.put(key,value)就是使用我们自己的value去替换JVM初始化是加载的value,实现Text文本、颜色等属性的替换。你可以根据UIManager.get(key),去查一下相关的Text文本在系统中对用的key是什么,那么再使用put进行替换
      

  11.   

    对,说的好...
    可是我在网上找了半天,,,都没有找到jcolorchooser 中有哪些key ?
      

  12.   

    import java.util.Locale;
    import javax.swing.JColorChooser;public class DialogTest { public static void main(String[] args) {
    Locale.setDefault(Locale.US);
    JColorChooser.showDialog(null, "Test", null);
    }}
      

  13.   

    去源码中找,不是上网找...下面的代码可以获取部分属性名:
                UIManager uim = new UIManager();
                UIDefaults uid = uim.getDefaults();
                Enumeration e = uid.keys();
                while(e.hasMoreElements())
                {
                 String s = e.nextElement().toString();
                 System.out.println(s);
                }
    ColorChooser.swatchesNameText//样品
    ColorChooser.swatchesRecentText//最近
    ColorChooser.rgbNameText// RGB,那个 RGB Tab页的名称
    ColorChooser.hsbNameText//HSBColorChooser.previewText//预览
    ColorChooser.sampleText//样品文本
      

  14.   

    可以使用重设Local来实现本地化,但是设置Local之后,整个JVM都会受影响,所以并不建议