《猜猜看》首次测试

    说真的,我真的是打算放弃java了的。但今天不想继续“无所事事”,琢磨了老师给的图片显示的代码,加上我昨天的页面,说真的,小测试的成功让我小激动,呵呵!我可以说对java一窍不通,对于实习要求的猜猜看我觉得结合自己的能力能实现多少是多少,没资格再要求高分,不放弃它就是最好的了(重拾希望的感觉真好) 。

    说真的,全靠自己,能做到这我觉得是最大的极限了,明天还有课,我会继续琢磨,把死板的选项那里变得灵活,我需要一些参考实例或是代码,希望老师能提供点帮助。

    然后是小程序页面设计特别不满意,若可以的话把布局改变下……

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileFilter;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;

class myFileFilter implements FileFilter{  
     
    @Override  
    public boolean accept(File pathname) {  
        String filename = pathname.getName().toLowerCase();  
        if(filename.contains(".jpg")){  
            return false;  
        }else{  
            return true;  
        }  
    }  
} 

public class Te3 extends Applet implements ItemListener, ActionListener {
	
		// TODO Auto-generated constructor stub
	
	//Frame f=new Frame("测试无数次");
    private static final long serialVersionUID = 1L;
    
    JButton open=null;
    JTextField jtfPath = null;
    
    JLabel jlbImg = null;
    JButton btnNext = null;
    
    String strPath = "";    //文件夹路径
    String strFileName = "";    //文件名称
    
    File[] fileArray;   // 文件夹下所有文件
    int NUM_IMG = 0;    // 文件总数目
    int index   = 0;    // 当前文件的序号
	
    public static void main(String[] args) {
        new Te3();
    }
	JButton b1,b2;
	JLabel p1=new JLabel();
	JPanel p2=new JPanel();
	JPanel p3=new JPanel();
	
	TextArea ta=new TextArea(2,30);
	TextField tf1=new TextField(16),   tf2=new TextField(14);
    
	CheckboxGroup chk=new CheckboxGroup();
	Checkbox cx1=new Checkbox("(A)金木研",chk,false);
	Checkbox cx2=new Checkbox("(B)西尾锦",chk,false);
	Checkbox cx3=new Checkbox("(C)尼克",chk,false);
	Checkbox cx4=new Checkbox("(D)小丑组织",chk,false);
	//String text="请根据所给图片任务选择对应其的姓名";


	public void init(){
		b1=new JButton("选择目录:");
		b2=new JButton("下一张图片显示:");
		String text="请根据所给图片任务选择对应其的姓名";
		
		ta.setText(text);
		p3.add(ta);	
	    p3.add(cx1);
	    cx1.addItemListener(this);
	    p3.add(cx2);
	    cx2.addItemListener(this);
	    p3.add(cx3);
	    cx3.addItemListener(this);
	    p3. add(cx4);
	    cx4.addItemListener(this);
	    p3. add(tf2);
	    p2.add(b1);
	    b1.addActionListener(this);// 添加监听
	    p2. add(tf1);
	    tf1.addActionListener(this);// 添加监听
	    p2.add(b2);
	    b2.addActionListener(this);// 添加监听

        // 添加显示Image的JLabel控件
	    p1 = new JLabel();
        p1.setBackground(Color.RED);
        p1.setBounds(800,100, 900, 500);
        this.add(p1);
        
        // 设置JFrame的大小,可显示,默认关闭按钮
        this.setBounds(300, 300, 300, 300);
        this.setVisible(true);
       // this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
    
		add(p2, BorderLayout.CENTER);
		add(p3, BorderLayout.WEST);
		
		setLayout(new BorderLayout(3,9));
		add("West", p3);
		add("Center",p2);
		//add("Center",p1);
		setSize(500,450);
		setVisible(true);
		
	}
	/**
	 * @param args
	 */
	@Override
	 public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        
        //多个组件需要监听的情况下,事件响应的编码方式      
        if(e.getSource()==b1){    //如果是open按钮
            JFileChooser jfc=new JFileChooser();
            //jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );
            jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            jfc.showDialog(new JLabel(), "选择");
            File file=jfc.getSelectedFile();
            
            if(file.isDirectory()){
                System.out.println("文件夹:"+file.getAbsolutePath());
                
            }else if(file.isFile()){
                System.out.println("文件:"+file.getAbsolutePath());
            }
            System.out.println(jfc.getSelectedFile().getName());
            
            // 把文件路径显示在文本框中
            tf1.setText(file.getAbsolutePath());
            //jlbImg.setIcon(new ImageIcon(file.getAbsolutePath()));
            
            // 获取文件路径 与文件名
            strPath = file.getAbsolutePath();
            strFileName = jfc.getSelectedFile().getName();
            
            if(file!=null && file.isDirectory()){
                // 参考: java中File.listFiles(FileFilter) FileFilter的使用 
                //  http://zhouzaibao.iteye.com/blog/347557 ;
                
                // 获取文件夹下所有的文件
                fileArray = file.listFiles();
                NUM_IMG = fileArray.length;
            }
            
        }
        
        if(e.getSource()==b2){ //如果是next按钮
            String strTmp = fileArray[index].toString();
            index++;
            if(index==NUM_IMG)
                index = 0;
            ((JLabel) p1).setIcon(new ImageIcon(strTmp));
        }   }    
    

	public void itemStateChanged(ItemEvent e) {
		// TODO Auto-generated method stub
		if(e.getItemSelectable()==cx1)
			tf2.setText("哟西,猜对!");
		else tf2.setText("咦,It's worry!");
	}
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值