2014-03-07 9 views
0

JList에 배경색을 설정하고 모든 목록 사이에 공백을주고 싶습니다. 또한 글꼴 크기를 늘리고 싶습니다.JList에서 배경색과 글꼴 크기를 어떻게 설정할 수 있습니까?

어떻게하면됩니까? 내 코드는 아래와 같습니다.

import java.awt.*; 
import java.awt.event.*; 
import java.awt.geom.Line2D; 
import java.util.ArrayList; 
import javax.swing.*; 
import javax.swing.event.*; 

/* ListDemo.java requires no other files. */ 
public class ListDemo extends JPanel 
         implements ListSelectionListener { 
    private JList list; 
    private DefaultListModel listModel; 


    public ListDemo() { 
     super(new BorderLayout()); 

     listModel = new DefaultListModel(); 
     listModel.addElement("Jomerdhpur                                                                                                      Barmer"); 
     listModel.addElement("John Smith"); 
     listModel.addElement("Kathy Green"); 
     listModel.addElement("Jane Doe"); 
     listModel.addElement("John Smith"); 
     listModel.addElement("Kathy Green"); 

     //Create the list and put it in a scroll pane. 
     list = new JList(listModel); 
     list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
     list.setSelectedIndex(0); 
     list.addListSelectionListener(this); 
     list.setVisibleRowCount(5); 
     JScrollPane listScrollPane = new JScrollPane(list); 
      add(listScrollPane, BorderLayout.CENTER); 
     // add(buttonPane, BorderLayout.PAGE_END); 
    } 

    public void valueChanged(ListSelectionEvent e) { 

    } 


    private static void createAndShowGUI() { 
     //Create and set up the window. 
     JFrame frame = new JFrame("ListDemo"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     //Create and set up the content pane. 
     JComponent newContentPane = new ListDemo(); 
     newContentPane.setOpaque(true); //content panes must be opaque 
     frame.setContentPane(newContentPane); 
     frame.setBackground(Color.yellow); 


     frame.pack(); 
     frame.setVisible(true); 
    } 
    public static void main(String[] args) { 

       createAndShowGUI(); 

    } 
} 

원하는 출력을 얻으려면 어떻게해야합니까?

답변

3

ListCellRenderer ... 사용 자세한 내용은 Customize Your JList Display을 참조하십시오.

enter image description here

This answer

렌더러의 폰트를 조정하는 방법을 도시한다. 그것은 물론 콤보 박스이지만 콤보와리스트 모두 렌더러를 사용합니다.

관련 문제