我正在做一个项目,我必须创建一个带有滚动文本的栏... 问题是我可能需要突出显示文本的背景,并且我正在考虑使用JTextField,这样我就可以为背景着色...... 我目前的问题是让JTextField出现在JPanel中......这就是我到目前为止(设计): http://i.stack.imgur.com/AdfyZ.png
红色矩形将显示带有消息的JTextField,绿色矩形将显示一些广告,请注意它们现在只有颜色,以确保JPanels在哪里,当程序完成时它们将变成白色,颜色将由JTextFields制作......
下一个问题,可能是移动文本,我还没有实现,但我想这将很容易,我会留下一个ideia,你告诉我,如果我走得很好,或者我应该改为更好的意识形态...... 所以,我想做一些新闻: http://i.stack.imgur.com/rH2je.jpg
所以,我希望我的文字从右向左,我将创建一个runnable,每10-50毫秒改变我的文本的位置一些点向左...关于文本显示即时思考创建JTextField的LinkedList,然后在面板中显示它们......
提前感谢您,如果您可以帮我在面板上显示JTextField,我会很感激,如果您能告诉我,我对移动文本的想法是否最正确... 谢谢大家的时间!
编辑:我有你的“MyPanel”代码,在框架的主要类中我有一个方法可以将MyPanel添加到我想要它们的面板......
createMsg();
PanelMsg.repaint();
}
public void createMsg() {
MyPanel test = new MyPanel("teste", "1");
PanelMsg.add(test);
}
PanelMsg是顶级面板,问题可能是因为我没有使用任何布局,这是因为我害怕这不工作,所以我尝试免费设计。我说,我担心这不起作用,因为我需要制作文字角色,布局会阻止他们的内容......
答案 0 :(得分:0)
为什么不用两个JLabel创建自己的JPanel。设置两个标签的背景。
public MyPanel extends JPanel{
private JLabel topLabel;
private JLabel bottomLabel;
MyPanel(String news, String ad){
topLabel = new JLabel(news);
bottomLabel = new JLabel(ad);
//set your layout
}
}
现在,将多个MyPanel实例添加到JPanel。
public class Main extends JPanel{
Main(){
//other stuffs
MyPanel abc = new MyPanel("Stack", "Overflow");
MyPanel xyz = new MyPanel("Hello", "World");
add(abc);
add(xyz);
//Use Flow layout
//other stuffs
}
}
答案 1 :(得分:0)
我正在做一个项目,我必须创建一个带有一些滚动文本的栏...问题是,我可能必须突出显示文本的背景,并为我思考使用JTextField所以我可以为背景着色。 ..
我会使用JLabels。您可以设置JLabel的背景,只需使用:
label.setOpaque(true);
查看Marquee Panel以查找要为您滚动的组件。