zoukankan      html  css  js  c++  java
  • Java第二次作业

    上周学习了布局和响应,根据上周学习的内容我自己做了个小程序:选择自己喜欢的音乐类型。当选择了自己喜欢的音乐类型时在列表框下会出现自己选择的内容,同时也会弹出对话框显示自己选择的音乐类型。
    Jlist
    JList() : 构造一个使用空模型的 JList。
    JList(ListModel dataModel): 构造一个 JList,使其使用指定的非 null 模型显示元素。
    JList(Object[] listData): 构造一个 JList,使其显示指定数组中的元素.
    JList(Vector<?> listData) :  构造一个 JList,使其显示指定 Vector 中的元素。
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;

    import javax.swing.*;
    public class ImageViewer {

    /**
     * @param args
     */
        private JFrame frame;
        private JLabel fileLabel,statusLabel,imagePanel,result1,result2;
       
        private List MyList;
        public ImageViewer(){
            makeFrame(); 
            frame.pack();
            frame.setVisible(true);
        frame.setSize(250,250);
        frame.setLocation(250,250);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
        }
        
        private void makeFrame(){
            frame = new JFrame("ImageViewer");        
            Container contentPane = frame.getContentPane();
            makeMenuBar();
            fileLabel =new JLabel("挑选出你喜爱的歌曲类型");
            contentPane.add(fileLabel,BorderLayout.NORTH);
            statusLabel=new JLabel("Version1.0");
            result2 = new JLabel();  
            contentPane.add(result2,BorderLayout.SOUTH);
            contentPane.add(statusLabel,BorderLayout.SOUTH);
            
           JPanel northPanel=new JPanel(new FlowLayout(FlowLayout.LEADING));
            JPanel inNorthPanel=new JPanel(new GridLayout(2,1));
            result1 = new JLabel();
            result2 = new JLabel();       
            MyList = new List(6,true);
            MyList.add("古典音乐");
            MyList.add("现代音乐");
            MyList.add("轻音乐");
            MyList.add("摇滚音乐");
            MyList.add("民族音乐");
            MyList.add("网络音乐");
            inNorthPanel.add(MyList); 
            inNorthPanel.add(result1);
            inNorthPanel.add(result2);
            northPanel.add(inNorthPanel);
           
    		;
            contentPane.add(northPanel,BorderLayout.WEST);//边界布局
           
            MyList.addActionListener(new ActionListener(){
            	@Override
    			public void actionPerformed(ActionEvent e) {
            		{
            		
            			  if(e.getSource()==MyList)
            			  JOptionPane.showMessageDialog(MyList,"你选择的是"+e.getActionCommand(),"提示",JOptionPane.WARNING_MESSAGE );
    			
    		}}});
            	
        MyList.addItemListener(new ItemListener(){
        	@Override
            	public void itemStateChanged(ItemEvent e)
            	 {
            	  List temp;
            	  String sList[];
            	  String mgr = new String("");
            	  if(e.getItemSelectable() instanceof List)
            	  {
            	   temp = (List)(e.getItemSelectable());
            	   sList = temp.getSelectedItems();
            	   for(int i=0;i<sList.length;i++)    
            	    mgr = mgr + sList[i] + " ";  
            	    result2.setText("你选择音乐是:"+mgr); 
            	   JOptionPane.showMessageDialog(MyList,"你选择的音乐是"+mgr,"提示",JOptionPane.WARNING_MESSAGE );
            	   //showStatus(mgr);
            	  }
            	 }});
    	
    
    
            
            }
       
        private void makeMenuBar(){
        JMenuBar menubar = new JMenuBar();
        frame.setJMenuBar(menubar);
                
        JMenu fileMenu = new JMenu("File");
        menubar.add(fileMenu);
        
        JMenu  fileMenu1= new JMenu("Filter");
        menubar.add(fileMenu1); 
        
        JMenu  fileMenu2= new JMenu("Help");
        menubar.add(fileMenu2); 
        
        JMenuItem openItem = new JMenuItem("Open...");
        fileMenu.add(openItem);
        
        JMenuItem closeItem = new JMenuItem("Close");
        fileMenu.add(closeItem);
        fileMenu.addSeparator();
        JMenuItem saveasItem = new JMenuItem("Save as...");
        fileMenu.add(saveasItem);
        fileMenu.addSeparator();
        JMenuItem quitItem = new JMenuItem("Quit");
        fileMenu.add(quitItem);
        JMenuItem darkerItem =new JMenuItem("Darker");
        fileMenu1.add(darkerItem);
        JMenuItem lighterItem =new JMenuItem("Lighter");
        fileMenu1.add(lighterItem);
        JMenuItem thresholdItem =new JMenuItem("Threshold");
        fileMenu1.add(thresholdItem);
        JMenuItem fishItem =new JMenuItem("Fish Eye");
        fileMenu1.add(fishItem);
        JMenuItem aboutItem =new JMenuItem("About ImageViewer");
        fileMenu2.add(aboutItem);
        
        
            frame.pack();
            frame.setVisible(true);
        frame.setSize(250,250);
        frame.setLocation(250,250);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
    }
       
    
    
    
    public static void main(String[] args) {
    	// TODO Auto-generated method stub
        new ImageViewer();
    }
    

    }


    我的照片:

  • 相关阅读:
    C++获取时间函数
    平滑算法:三次样条插值(Cubic Spline Interpolation)
    为什么想要交谈?
    c++日常小问题
    看板娘
    世界碰撞算法原理和总结(sat gjk)
    转载c++默认初始化文章--google翻译
    从4行代码看右值引用(转载 《程序员》2015年1月刊)
    c++模板特例化 函数模板(非法使用显式模板参数 )
    InverseTransformPoint 函数问题
  • 原文地址:https://www.cnblogs.com/ly243205405/p/5303098.html
Copyright © 2011-2022 走看看