谢谢!帮我解决一下标题的问题!

解决方案 »

  1.   

    我大概一个月前也遇到了一样的问题,结果采用了jTextArea解决竖排文字的问题,具体方法如下横排竖排文字最终解决方案
        利用fontMetrics解决单个文字大小问题,利用modelToView取得当前输入位置(rect.x,rect.y表示当前输入位置左上的坐标,
        rect.width为当前输入位置的宽度,一般为1,rect.height为当前输入位置的高度,一般与字号有关)    例:
            Rectangle rect=null;
            String inputText = jTextArea1.getText();
            try{
                rect = jTextArea1.modelToView(inputText.length());
            }   catch (Exception ee){System.out.println("cant get rect");}        fontMetrics = getFontMetrics(jTextArea1.getFont());
            int unitLength = fontMetrics.stringWidth("a");
            if (jTextArea1.getToolTipText() == "横排" &&
                fontMetrics.stringWidth(inputText) > unitLength)
                jTextArea1.setBounds(jTextArea1.getX(), jTextArea1.getY(),
                                     rect.x,
                                     fontMetrics.getHeight()+unitLength/3);
            if (jTextArea1.getToolTipText() == "竖排" &&
                fontMetrics.stringWidth(inputText) > unitLength)
                    jTextArea1.setBounds(jTextArea1.getX(), jTextArea1.getY(),
                                     fontMetrics.stringWidth("啊")+unitLength/3,
                                     rect.y+rect.height);           jTextArea1.repaint();这个动态决定jTextArea大小的方法可以完成文字的竖排,但是也存在琐碎的bug;如果要完全解决可能需要重写一个继承jTextArea的类。如果有进一步的发现,记得联系我哦
      

  2.   

    这个问题这样解决不行吗?下面两种供参考:
    1、采用换行的方式,即每行最后用\n;
    2、用HTML解决,其中的所有字符用HTML标签标识。
      

  3.   

    http://www.finereport.com 早就可以了.
      

  4.   

    直接在低级画板上做好了,高级GUI控件很难搞的