java 中,要在对话框里面画一条直线,(对话框上面一部分是一个panel,下面一部分也是一个panel,现在要在他们俩之间画一条线把他们区分开,以表示不同的部分),该怎么做呢?谢谢.

解决方案 »

  1.   

    最简单的用label代替,你牺牲一个panel的一点点地方比如在上面部分的panel底部加上这个label,bgcolor(背景)用不同的颜色,high(高)属性设置小点,width(宽)设置宽点,还可以加个Border(边框)。图像类嘛,查查API吧,Line2D类,Grahpics类brawPolyline方法(折线),Grahpics2D类等。
      

  2.   

    可以直接用border~  沒必要用畫的~
      

  3.   

    恩~~怎么感觉你的描述怪怪的……
    你所说的是不是这样的东西:三行,第一行panel,第二行横线,第三行panel?如果是,例如你使用gridlayout(3,0),向你的contentPane添加:
    第一行加panel,第二行加一个
    new JSeparator()
    第三行再加你的下部分的panel。
    JSeparator就是一条分割线,没有太多的作用,你也可以设置它的水平或者竖直。
      

  4.   

    我建议你将panel设置一下border ,你看看能否实现,没有必要画线的,希望对你能有所帮助。。
      

  5.   

    同意4L的意见,设置一下panel的border。例:panel.setBorder(BorderFactory.createTitledBorder(null,
    "panel", TitledBorder.DEFAULT_JUSTIFICATION,
    TitledBorder.DEFAULT_POSITION, ((Font) UIManager
    .get("Label.font")).deriveFont(Font.BOLD, 12),
    new Color(51, 51, 51)));
      

  6.   

    楼主是要求只用一条线分开上下panel吧?panel加border的话,那就是4条线整个panel都框起来了。
      

  7.   

    第一个panel加入
    中间插入代码new JSeparator() 
    第二个panel加入
    "JSeparator"是一条分割线可以设置它的水平或者竖直。 
      

  8.   

    正解
    直接加Label会使得横线占位过于宽大
      

  9.   

    准确地说,是想画第一个panel的下边框,上边框和左右边框都不画。因为不知道怎样才能做到只画border的一部分,所以想活一条线代替。
      

  10.   

    1.Grahpics类brawPolyline方法(折线),Grahpics2D类等里面方法如:drawline()就可以划线
    2.让两个panel中点留出一条线,设置框架背景为醒目颜色就ok
      或者在上面的panel里加上Separator就可以
      

  11.   

    试试JsplitPane类来分割,虽然没有黑线,不过还是很常用的
      

  12.   

    大家说的方法我都尝试过,似乎不能满足我们项目的要求。因为这条线是一个彩色的线条。
    jseparator好像不行。
    我知道可以用drawline()来划线,可是不知道在对话框的哪个函数里面画这条线。
    实在不好意思,刚刚接触java,不懂的东西太多。希望大家给个例子看看。谢谢了。
      

  13.   

    如果只是为了区分一下两个panel,直接设置其border就行