package test;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;public class Frame1 extends JFrame {
  JPanel contentPane;
  JPanel jPanel1 = new JPanel();
  JLabel jLabel1 = new JLabel();
  FlowLayout flowLayout1 = new FlowLayout();
  TitledBorder titledBorder1;  //Construct the frame
  public Frame1() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception  {
    contentPane = (JPanel) this.getContentPane();
    titledBorder1 = new TitledBorder("");
    contentPane.setLayout(flowLayout1);
    this.setSize(new Dimension(400, 300));
    this.setTitle("Frame Title");
    jLabel1.setText("jLabel1");
    jPanel1.setBorder(titledBorder1);
    jPanel1.setDoubleBuffered(true);
    contentPane.add(jPanel1, null);
    jPanel1.add(jLabel1, null);
  }
  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);
    }
  }
}

解决方案 »

  1.   

    自己写一个。
    String canvasOutput(String str)
    {
       StringBuffer sb = new StringBuffer("|");
       for (int i = 0; i < str.length(); i++)
          sb.append("-");
       sb.append("|\n|");
       sb.append(str);
       sb.append("|\n|");
       for (int i = 0; i < str.length(); i++)
          sb.append("-");
       sb.append("|");
       return sb.toString();
    }
      

  2.   

    非常谢谢  AYellow(北斗猪)  的代码, 这是给JLabel加一个Border, 我的意思是 绘制图形时 比如类似 DrawText()是 ,么动态计算字符所占的长度,而绘制一个边框, 因为String.length() 方法返回的是字符串的长度, 如果我想根据字体的大小等 计算出 字符所占的象素数(长 和 宽) ,然后绘制一个Rect, 我想问问大家有没有好的计算方法?
    hayai(生命树) : 你那是绘制一个 和我例子一样的东西, 我要得边框是线条! 谢谢!
     shkwh(龙威) :请问如何计算字符的精确位置信息?  
    谢谢大家的关注哈! 
      

  3.   

    你的这个要求我以前做过,不过具体怎么实现一下子不记得了,肯定可以的
    可以算出指定字体的字符串的大小
    用java.awt.font参考一下http://java.sun.com/docs/books/tutorial/2d/textandfonts/linebreakmeasure.html
    http://java.sun.com/docs/books/tutorial/2d/TOC.html