求解Java GUI的问题

在javaGUI中我想做一个滚动界面,读取文件,同时可以显示行号。要求是只将行号的颜色设置成红色,而显示的文件颜色不变。我是这样做的,用了一个ScrollPane(),在... 在java GUI中我想做一个滚动界面,读取文件,同时可以显示行号。要求是只将行号的颜色设置成红色,而显示的文件颜色不变。我是这样做的,用了一个ScrollPane(),在里面添加Textarea(),在里面显示行号和空格,使用setForeground(Color.red)来设置颜色,现在问题是不仅仅是显示行号的颜色改变了,文件的显示颜色也改变了,这个我可以理解,因为在一个Textarea中。后来我想着将行号设置成JLabel来进行添加,结果没成功,若果再添加一个ScrollPane()的话,那么将出来两个滚动条不满足要求。最后我想说我想要的结果就像Eclipse里面的这种形式,(跟里面代码没关系,只是要这种表现形式),不知谁有什么好的建议,谢谢。在线等待 展开
 我来答
我是超人159858
2014-04-24 · 超过18用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:45.8万
展开全部
1、Textarea()里面你是直接放了行号和内容?如果是这样的话,你在放入之前写个方法把行号颜色改变下,然后再放入。
2、或者你通过读取文件后获取了行号,此时给行号做个处理再和内容一起放入。
3、如果你想用2个组件,一个行号一个内容,你要做事件处理。读取内容获取的行号经过颜色处理直接放到组件里;放置内容的组件读取行号,但不显示,暗中把显示的行号和不显示的行号事件处理,使你进行滚动的时候,这2个组件同时滚动,显示的行号与内容正确。希望对你有帮助
更多追问追答
追问

我读取的文件没有行号,行号是我自己添加上去的。 我不明白你说的“你在放入之前写个方法把行号颜色改变下,然后再放入。”这是我的运行结果

追答
可能我的思路和你的思路不一样,我以为你是根据读取的内容来获得行号的,原来是你自己添加的。按照你的思路的话,你添出的代码里面:
1、你试试把修改颜色的行号、空格、一行的内容组成一个String,然后再append,再换行
2、如果你把行号放在JLabel里面,你把JLabel与textarea排列,行号和内容对齐,然后一起放入下拉框里面
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式