GUI编程及文件对话框的使用
2015-06-25 09:43
393 查看
<pre name="code" class="python">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.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; 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 Myjava extends JFrame implements ActionListener{ 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 Myjava(); } public Myjava(){ this.setTitle("Week16"); this.setLayout(new FlowLayout()); open=new JButton("选择目录"); open.addActionListener(this); this.add(open); jtfpath=new JTextField("选择的文件",40); jtfpath.setEditable(false); jtfpath.setHorizontalAlignment(JTextField.CENTER); this.add(jtfpath); btnNext=new JButton("显示下一张"); this.add(btnNext); btnNext.addActionListener(this); jlbImg=new JLabel(); jlbImg.setBackground(Color.red); jlbImg.setBounds(100,100,200,200); this.add(jlbImg); this.setBounds(400,200,400,500); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e){ if(e.getSource()==open){ JFileChooser jfc=new JFileChooser(); jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); jfc.showDialog(new JLabel(),"查看"); File file=jfc.getSelectedFile(); if(file.isDirectory()){ System.out.println("文件夹:"+file.getAbsolutePath()); jtfpath.setText(file.getAbsolutePath()); }else if(file.isFile()){ System.out.println("文件:"+file.getAbsolutePath()); }System.out.println(jfc.getSelectedFile().getName()); jtfpath.setText(file.getAbsolutePath()); strPath=file.getAbsolutePath(); strFileName=jfc.getSelectedFile().getName(); if(file!=null && file.isDirectory()){ fileArray=file.listFiles(); NUM_IMG=fileArray.length; } } if(e.getSource()==btnNext){ String strTmp=fileArray[index].toString(); index++; if(index==NUM_IMG) index=0; jlbImg.setIcon(new ImageIcon(strTmp)); } } }
第二部分:作业博客要求
1. 在作业博客中,完成上述3个项目中至少2个,并把运行结果、代码写到博客中。2. 在作业博客中,回答以下三个问题:(1)简述Java中,GUI的事件驱动模式。
事件处理模式,各种事件监听器。。。。
(2)简述Java中,字符串转化为数值、数值转化为字符串的常用方式。
字符串型转换成各种数字类型: String s = "169"; byte b = Byte.parseByte( s ); short t = Short.parseShort( s ); int i = Integer.parseInt( s ); long l = Long.parseLong( s ); Float f = Float.parseFloat(
s ); Double d = Double.parseDouble( s );
数字类型转换成字符串型: 法一:String s = String.valueOf( value); // 其中 value 为任意一种数字类型。 法二:String aa = 1+"";
(3) 简述Java中,JFileChooser使用的核心代码。
import java.io.File; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; public class FileChooserTest { public static void main(String [] args) {
相关文章推荐
- SortedDictionary<TKey, TValue> 类 表示根据键进行排序的键/值对的集合。
- 第十六周周四GUI编程及文件及选择
- Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK fla
- 第十四周GUI编程初步
- 源码推荐(6.25):苹果Keynote的动画--PortalTransition,自定义UIPageControlK-
- MySQL的ERROR 1366 (HY000): Incorrect string value错误解决
- 《Java程序设计》第16周周四:GUI编程及文件对话框的使用
- Win10最新手机预览版Build 10145要来了
- Java中的String、StringBuilder、StringBuffer对比
- 如何高效的判断数组中是否存在至少两个相同的数值,存在返回true,不存在返回false
- 【java基础】——GUI(图形化用户界面
- IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget
- UITableView快速入门
- UI基础-九宫格计算-模型|封装
- LeetCode——Implement Stack using Queues
- LeetCode95:Unique Binary Search Trees II
- duilib Ip控件
- duilib 可编辑ComboBox
- Spark Transformations之mapValues
- requireJS官网学习(2)