2016-11-08 193 views
0

它运行正常,但我的列表根本不打印。另外,我应该在哪里为我的列表添加转换为小写字母的方法?而且我还需要在列表之前或之后修剪空白,哪种方法最适合?当我运行程序时,我的列表如何不打印?

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.lang.*; 

public class ShoppingList extends JFrame { 
    private JPanel groceryPanel; 
    private JPanel selectedGroceryPanel; 
    private JPanel buttonPanel; 
    private JList groceryList; 
    private JList selectedGroceryList; 
    private JLabel label; 
    private JTextField selectedGroceryItem; 
    private JButton button1; 
    private JButton button2; 
    private JButton button3; 
    private JButton button4; 

    private String[] lists = { "Burger Patty", "Honey Ham", "Milk", 
      "Egg", "Orange Juice", "Ketchup", "Lettuce", 
      "Hamburger Buns", "Tomatoes", "Cheese" 
    }; 

    //ctor 
    public ShoppingList() { 
     setTitle("Shopping List"); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setLayout(new BorderLayout()); 

     buildGroceryPanel(); 
     buildSelectedGroceryPanel(); 
     buildButtonPanel(); 

     add(groceryPanel, BorderLayout.NORTH); 
     add(selectedGroceryPanel, BorderLayout.CENTER); 
     add(buttonPanel, BorderLayout.SOUTH); 

     pack(); 
     setVisible(true); 
    }//end ctor 

    private void buildGroceryPanel() { 
     groceryPanel = new JPanel(); 
     groceryList = new JList(lists); 

     groceryList.setSelectionMode(
       ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 
    }//end buildGroceryPanel 

    private void buildSelectedGroceryPanel() { 
     selectedGroceryPanel = new JPanel(); 
     label = new JLabel("You selected: "); 
     selectedGroceryList = new JList(); 
     selectedGroceryItem = new JTextField(10); 

     selectedGroceryItem.setEditable(false); 

     selectedGroceryPanel.add(label); 
     selectedGroceryPanel.add(selectedGroceryItem); 
    }//end buildSelectedGroceryPanel 

    private void buildButtonPanel() { 
     buttonPanel = new JPanel(); 
     button1 = new JButton("ADD"); 
     button2 = new JButton("REMOVE"); 
     button3 = new JButton("SAVE"); 
     button4 = new JButton("LOAD"); 

     button1.addActionListener(new ButtonListener()); 
     button2.addActionListener(new ButtonListener()); 
     button3.addActionListener(new ButtonListener()); 
     button4.addActionListener(new ButtonListener()); 

     buttonPanel.add(button1); 
     buttonPanel.add(button2); 
     buttonPanel.add(button3); 
     buttonPanel.add(button4); 
    }//end buildButtonPanel 

    private class ButtonListener 
      implements ActionListener { 

     public void actionPerformed(ActionEvent e) { 
      Object[] selections = 
        groceryList.getSelectedValues(); 
      selectedGroceryList.setListData(selections); 
     } 
    } 
    public static void main(String[] args) { 
     new ShoppingList(); 
    }//end main 
} 
+3

你在哪里打印? – shmosel

回答

-2

不确定这是否是你要求的,但是在String类中已经存在两种方法。例如:

String str = " SamPle TeXt "; 
str = str.toLowerCase().trim(); 
System.out.println(str); 

会打印出 “示例文本”

+0

不完整的答案,列表应该使用循环或类似的东西。 – toha

0

您需要添加groceryListgroceryPanel。在buildGroceryPanel()中添加groceryPanel.add(groceryList);将有所帮助。

相关问题