| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 796 人关注过本帖
标题:[讨论] JTextArea中画矩形问题。
只看楼主 加入收藏
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
 问题点数:0 回复次数:7 
[讨论] JTextArea中画矩形问题。

为什么在JTextArea中画矩形时,矩形框只是一闪而过?怎么让矩形框一直保持呢?


import java.awt.Graphics;
import java.awt.Color;
import javax.swing.JTextArea;
import javax.swing.JFrame;


public class test extends JFrame {

JTextArea jta = new JTextArea();

public test() {

super.setTitle("test");
this.add(jta);
this.setSize(500,500);
this.setVisible(true);

}
public static void main(String[] args) {

new JTextAreaHex_drawRectangle();
}
}


class JTextAreaHex_drawRectangle extends javax.swing.JTextArea {


test t = new test();
public JTextAreaHex_drawRectangle() {

this.paintComponent(t.getGraphics());

}

protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.RED);
g.drawRect(0, 0, 100, 100);
}
}

搜索更多相关主题的帖子: JTextArea 中画 矩形 
2007-04-20 23:02
a276202460
Rank: 2
等 级:新手上路
威 望:4
帖 子:392
专家分:1
注 册:2007-4-10
收藏
得分:0 
我在JButton中画图也是一样的问题。。。期待高手解决哈

2007-04-20 23:41
风月_无边
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:60
帖 子:2960
专家分:652
注 册:2007-1-19
收藏
得分:0 

我用了一个线程,不知道效果好不好 。


import java.awt.Graphics;
import java.awt.Color;
import javax.swing.JTextArea;
import javax.swing.JFrame;


public class test extends JFrame {

JTextArea jta=new JTextArea();

public test() {

super.setTitle("test");
this.add(jta); // Thread t=new Thread(jta);
//t.start();
this.add(jta);
this.setSize(500,500);
this.setVisible(true);

}
public static void main(String[] args) {

new JTextAreaHex_drawRectangle();
}
}


class JTextAreaHex_drawRectangle extends javax.swing.JTextArea implements Runnable{


test t = new test();
public JTextAreaHex_drawRectangle() {

//this.paintComponent(t.getGraphics());
Thread tt=new Thread(this);
tt.start();

}

protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.RED);
g.drawRect(50, 50, 100, 100);
}

public void run() {
// TODO Auto-generated method stub
while(true)
{
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.paintComponent(t.getGraphics());
repaint();
}
}
}


我的网站 http://www.
2007-04-21 07:42
醉卧千山
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2007-4-15
收藏
得分:0 

可是LZ的代码为什么会出现一闪而逝呢

不明白


天无绝人之路!
2007-04-21 09:02
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

谢谢3楼的朋友,问下JComponent有没有什么方法能够让矩形框维持而不用线程呢?


2007-04-21 09:54
风月_无边
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:60
帖 子:2960
专家分:652
注 册:2007-1-19
收藏
得分:0 

这个我不是很清楚,也许有更好的方法!!


我的网站 http://www.
2007-04-21 10:16
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
[CODE]class MyTextArea extends JTextArea{
protected void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.RED);
g.drawRect(10,10,getWidth()-20,getHeight()-20);
}
}[/CODE]

这样就可以了啊,有必要那么复杂么??

可惜不是你,陪我到最后
2007-04-21 12:30
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
以下是引用千里冰封在2007-4-21 12:30:04的发言:
[CODE]class MyTextArea extends JTextArea{
protected void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.RED);
g.drawRect(10,10,getWidth()-20,getHeight()-20);
}
}[/CODE]

这样就可以了啊,有必要那么复杂么??

我只是测试一下,我是想实现跟UE一样的功能,按上下左右都会选种文本,可直接选择又达不到效果,所以就直接画了。这方法很笨,见笑了


2007-04-21 12:34
快速回复:[讨论] JTextArea中画矩形问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012677 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved