0

我正在做一个项目,我必须创建一个带有一些滚动文本的栏......问题是我可能必须突出显示文本的背景,并且我正在考虑使用 JTextField,所以我可以为背景着色......我的当前的问题是使 JTextField 出现在 JPanel 内......这是我到目前为止所拥有的(设计):http: //i.stack.imgur.com/AdfyZ.png

在此处输入图像描述

红色矩形将显示带有消息的 JTextField,绿色矩形将显示一些广告,请注意它们现在只着色,因为我确定 JPanel 在哪里,程序完成后它们将变为白色并且颜色将由 JTextFields...

下一个问题,可能是移动文本,我还没有实现,但我想这很容易,我会在这里留下一个想法,让你告诉我我是否走得很好,或者我是否应该换一个更好的想法...所以,我想做一些类似新闻的事情:http: //i.stack.imgur.com/rH2je.jpg

在此处输入图像描述

所以,我希望我的文本从右到左,我将创建一个可运行文件,每 10-50 毫秒将我的文本的位置更改为左侧的一些点......关于显示我在 create 和 LinkedList 中思考的文本的 JTextField,然后在面板中显示它们...

提前感谢您,如果您能帮助我在面板上显示 JTextField,我将不胜感激,另外,如果您能告诉我我对移动文本的想法是否最正确...谢谢大家的宝贵时间!

编辑:我有你的“MyPanel”代码,在框架的主类中,我有一个方法可以将 MyPanel 添加到我希望它们所在的面板中......

createMsg();
 PanelMsg.repaint();
}
  public void createMsg() {
    MyPanel test = new MyPanel("teste", "1");
    PanelMsg.add(test);      
}

PanelMsg 是顶部面板,问题可能是因为我没有使用任何布局,那是因为我担心这不起作用所以我尝试使用免费设计。我说我担心这不起作用,因为我需要使文本角色和布局阻止它们的内容......

4

2 回答 2

0

我正在做一个项目,我必须创建一个带有一些滚动文本的栏......问题是我可能必须突出显示文本的背景,并且我正在考虑使用 JTextField,所以我可以为背景着色......

我会使用 JLabels。你可以设置一个 JLabel 的背景,你只需要使用:

label.setOpaque(true);

查看Marquee Panel以获取为您进行滚动的组件。

于 2013-09-14T21:03:52.470 回答
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
}

}

于 2013-09-14T20:52:42.300 回答