0

mouseListenerで新しいオブジェクトを作成せずにJLabelに複数の文字列を追加するにはどうすればよいですか。文字列のリストをブロックで表示したいのですが、常にインラインで表示されます。

私の質問は、JLabel の新しいオブジェクトを作成する必要がある文字列があるたびにですか? ところで、私は多くの名前を持つデータベースを持っており、多くの JLabel を作成するのは難しいでしょう。

画像は こちら ここをクリック

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);
4

2 に答える 2

3

より良いコントロールを探しているようです。JListはどうですか?

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

于 2013-05-01T20:03:30.260 に答える