如何在不创建新对象的情况下将多个字符串添加到JLabel

时间:2013-05-01 19:58:18

标签: java swing jlabel foreground

如何在JLabel中添加多个字符串而无需使用mouseListener创建新的Object,我希望它在块中显示Strinsg列表,但它始终以内联方式显示。

我的问题是每次我有一个String我需要创建一个JLabel的新对象? 顺便说一句,我有一个拥有大量名字的数据库,并且很难创建大量的JLabel。

这是图像 Click HERE

这是我目前使用对象的代码 我有一个获取名称字符串的数据库,然后添加到JPanel。

 x = new JLabel("name1");
      x1 = new JLabel("name2");
     x.setFont(new Font("calibri",Font.BOLD,20));
    x.addMouseListener(new MouseListener(){

        @Override
        public void mouseClicked(MouseEvent arg0) {         
        }

        @Override
        public void mouseEntered(MouseEvent arg0) { 
            x.setForeground(Color.blue);
        }

        @Override
        public void mouseExited(MouseEvent arg0) {
            x.setForeground(Color.BLACK);

        }

        @Override
        public void mousePressed(MouseEvent arg0) {
            x.setForeground(Color.RED);             
        }

        @Override
        public void mouseReleased(MouseEvent a) {
            x.setForeground(Color.blue);

        }});
    add(x);
    add(x1);

2 个答案:

答案 0 :(得分:3)

听起来你正在寻找更好的控制。 JList怎么样?

http://docs.oracle.com/javase/tutorial/uiswing/components/list.html

答案 1 :(得分:1)

您可以在Swing按钮,菜单按钮,标签等中使用HTML格式。只需在设置文本时使用html标记。