永发信息网

java在JScrollPane组件中绘图的问题

答案:1  悬赏:80  手机版
解决时间 2021-05-06 16:48
  • 提问者网友:骨子里的高雅
  • 2021-05-05 23:09

我在JScrollPane中添加了一个JTextArea,并在其中绘制了一根线

线的长度已超出了JScrollPane的大小,JScrollPane的滚动条仍不可用

请问这是怎么回事,要争么解决。

 

截取相关代码如下:

public class draw extends JTextArea{
    public draw(){
        super();
    }
    public void todraw(){
        Graphics g=getGraphics();
        g.setColor(Color.BLACK);
        g.drawLine(0,100,500,100);
    }
}

 

public class Frame2 extends JFrame {

      JScrollPane jScrollPane1 = new JScrollPane();

      draw jtaht = new draw();

      public Frame2() {

            jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane. HORIZONTAL_SCROLLBAR_ALWAYS);

            jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

            jtaht.setEditable(false);

            jScrollPane1.getViewport().add(jtaht);

      }

      public void jButton1_actionPerformed(ActionEvent e) {

            jtaht.todraw();

      }

}

这是运行的效果,运行时没有报错

最佳答案
  • 五星知识达人网友:从此江山别
  • 2021-05-05 23:29
jScrollPane1 是通过判断 textarea 中文本的长度和宽度来决定是否启用 滑动条的 你画出来的线改变了外观 而没改变 TEXT属性所以没反应
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯