JComboBox의 선택한 항목에 따라 내용이 변경되는 JComboBox 및 JList가 포함 된 Java에서 GUI를 만들려고합니다.JScrollList를 JList에 추가하는 레이아웃을 변경하는 레이아웃
JList에 scroolPane을 추가하고 싶습니다. 나는이 문제를 명확히하기 위해 당신에게 코드와 이미지를 보여주지 :
JPanel listPanel = new JPanel();
Hashtable<String, String[]> subItems = new Hashtable<String, String[]>();
JComboBox<String> tendina;
JList<String> subList;
GridBagConstraints c;
String ricevuti[] = {"Alex", "Ben", "Claire", "Dana", "Ellen", "Felicia", "Gary", "Hailey", "Imogen", "Jay", "Kate", "Alex", "Ben", "Claire", "Dana", "Ellen", "Felicia", "Gary", "Hailey", "Imogen", "Jay", "Kate"};
JList ricList = new JList(ricevuti);
String inviati[] = {"Lara", "Megan", "Nikole", "Oscar", "Paige", "Quentin", "Ralph", "Sara", "Thelma", "Victoria", "William"};
JList invList = new JList(inviati);
String ricInv[] = {"Seleziona un item..", "Ricevuti", "Inviati"};
Inbox() {
//...
listPanel.setLayout(new GridBagLayout());
listPanel.setBackground(Color.BLUE);
/*** ComboBox ***/
tendina = new JComboBox<String>(ricInv);
tendina.addActionListener(this);
tendina.setEditable(false);
c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 0;
c.insets = new Insets(-295, 10, 0, 0); //top, left, bottom, right
c.weightx = 1;
listPanel.add(tendina, c);
/*** Lista ***/
subList = new JList<String>();
subList.setPreferredSize(new Dimension(80, 280));
subList.setVisibleRowCount(10);
subList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
JScrollPane scrollList = new JScrollPane(subList);
subItems.put(ricInv[1], ricevuti);
subItems.put(ricInv[2], inviati);
c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 0;
c.insets = new Insets(30, 10, 0, 0); //top, left, bottom, right
c.weightx = 1;
**[1]**listPanel.add(subList, c);
**[2]**listPanel.add(scrollList, c);
//...
}
문제는 내가 listPanel에 [2] scrollList을 추가 할 때, 레이아웃이 엉망이다. listPanel에 하위 목록 [1]을 추가하면 레이아웃이 올바르지 만 분명히 scrollList가 없습니다.
레이아웃을 변경하지 않고 scrollList를 어떻게 추가 할 수 있습니까? http://www.mediafire.com/view/daye4rkx1tyhwbq/sublist.png
이 내가 listPanel에 scrollList를 추가 할 경우 발생하는 [2] :
이
내가 listPanel에 [1] 하위 목록을 추가 할 경우 발생하는 것입니다 http://www.mediafire.com/view/jfiky6j686e2h58/scroll.png감사를
높이에 관해서는 문제가 subList.setVisibleRowCount(16);
에 달려 있다는 것을 깨달았습니다.
하지만 너비는 어떻게 조정합니까?
코드가 컴파일되지 않고 문제가 나타나지 않습니다. [MCVE] (http://stackoverflow.com/help/mcve)를 게시하십시오. – user1803551
@ user1803551 안녕하세요, 여기 전체 코드가 있습니다 : http://pastebin.com/gnc63sMv – user3602008
MCVE의 M은 최소한을 의미합니다. MCVE 링크를 읽고 코드를 올바르게 게시하십시오. – user1803551