java swing入门教程

作者:暴躁小n | 创建时间: 2023-07-26
java swing 简单案例...
java swing入门教程

操作方法

创建一个JFrame 下面用简单的实例演示了Java Swing创建一个能输入内容的窗口 public class frameTest(){ public static void Main(String args[]){ //创建JFrame对象,JFrame用来在屏幕上显示一个Windows窗口。 JFrame frame = new JFrame("第一个JFrame"); // 建立一个文本输入域对象,由于文本输入域是JComponent的子类,可以采用以 // 下方法定义。 JComponent comp = new JTextArea(); // 将上面建立的文本输入域加入到frame对象 // 默认情况下,frame的内容面板(容器)采用BorderLayout布局, // 这里是将文本输入域放入BorderLayout布局的Center部位。 // 有关BorderLayout布局的内容,请查阅 //   http://gyfinjava.blog.com.cn/archives/2007/2161340.shtml frame.getContentPane().add(comp, BorderLayout.CENTER); // 设置其高度和宽度分别为:288像素和188像素 frame.setSize(288,188); // 显示该Frame frame.setVisible(true); } } JFrame的预定义动作事件

在Java Swing教程1中的Main方法中加入以下代码: //当用户选择窗口的退出按钮(窗口右上角的X), //或选择窗体功能菜单的推出项时的动作 //下行代码可以使单击退出按钮时,退出该JFrame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //下行代码可以使JFrame的退出按钮失效 frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 创建没无边框的Frame(Window) 该实例演示了怎样创建一个没有边框的Frame(Window)。如果要创建 不显示边框的Frame(Window),则推荐使用JWindow。 import javax.swing.JWindow; public class JWindowTest { public static void main(String[] args){ //创建JWindows对象 JWindow window = new JWindow(); // 这里,一样可以通过教程getContentPane().add()方法为该JWindow增加组件 //window.getContentPane().add(JComponent, BorderLayout.CENTER); // 设置初始化大小 window.setSize(200, 200); // 显示该窗体 window.setVisible(true); } } Java Swing教程4-文件选择框

Java为文件选择框提供了JFileChooser类API。通过使用该类,可以很方便的现实文件选择对话框。见下例: //建立文件选择框对象 JFileChooser fc=new JFileChooser(); //设定文件选择框标题 fc.setDialogTitle("Open class File"); //显示文件选择框,在选择后将结果储存到returnVal变量中 int returnVal = fc.showOpenDialog(app.getFrameInstance()); //如果用户选择了文件,并点击了"Opne/打开"按钮,显示用户选择的文件全名路径, //如果用户点击"Close/关闭"按钮,以及其它方式退出文件选择框,则什么也不做。 if (returnVal == JFileChooser.APPROVE_OPTION){ File file = fc.getSelectedFile(); System.out.println(file.getPath()); } 注意在文件选择对话框中,可以进行选择目录的操作,只需要用FileChooser对象的setFileSelectionMode()方法指定其选择模 式为目录选择。见下面代码 //上例中可以在文件对话框显示语句前加上下面代码,使对话框成为目录选择对话框 fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 在文件选择过程中,我们可以为文件选择对话框设置过滤器,有了过滤器的对话框,会用下拉列表的方式将过滤的文件名特征显示在"文件类型"组合框中,并将不 符合条件的文件名和目录名过滤掉(不显示)。 为一个文件选择对话框设置过滤器需要定义过滤器类,见下例: public class ClassFileFilter extends FileFilter{ public boolean accept(File f) { String filename = f.getName(); return filename.endsWith(".class"); } public String getDescription() { return "*.class"; } } 该类定义了一个过滤Java类文件"*.class"的过滤器。 将它增加到文件选择对话框中,可以过滤出以.class为尾缀的文件。见下面代码: fc.addChoosableFileFilter(new ClassFileFilter()); 针对一个对话框,我们可以为其加装多个过滤器。这里有对过滤器更加诠释的代码: public class ImageFilter extends FileFilter { //Accept all directories and all gif, jpg, tiff, or png files. public boolean accept(File f) { if (f.isDirectory()) { return true; } String extension = Utils.getExtension(f); if (extension != null) { if (extension.equals(Utils.tiff) || extension.equals(Utils.tif) || extension.equals(Utils.gif) || extension.equals(Utils.jpeg) || extension.equals(Utils.jpg) || extension.equals(Utils.png)) { return true; } else { return false; } } return false; } public String getDescription() { return "Just Images"; } } 该过滤器为图像文件过滤器。

Java Swing教程5-JTable 利用J2SE提供的JTable组件类可以很方便的实现应用程序中的表格功能,以实例阐述如下: 该实例运行结果如下: 其代码如下: import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; public class Test01 { public static void main(String[] args) { //声明列名数组 String[] columnNames = { "姓名", "性别", "年龄", "籍贯", "婚否" }; //声明数据二维数组 Object[][] data = { { "赵刚", "男", new Integer(18), "北京", new Boolean(false) }, { "钱霞", "女", new Integer(28), "北京", new Boolean(true) }, { "孙大伟", "男", new Integer(32), "上海", new Boolean(false) }, { "李民", "男", new Integer(30), "南京", new Boolean(true) }, { "周丽丽", "女", new Integer(34),"重庆",new Boolean(false) } }; //创建JTable对象t final JTable t = new JTable(data, columnNames); //设置JTable对象的可视区,超出部分会用下面的滚动条来显示 t.setPreferredScrollableViewportSize(new Dimension(400, 70)); //定义一个容器 JPanel p = new JPanel(); //在容器中加入表格和滚动条 p.add(t); JScrollPane s = new JScrollPane(t); p.add(s); //设置容器为透明的 p.setOpaque(true); //以下代码在前几个Java Swing教程中已经讲过,这里不重复! JFrame f = new JFrame("JTable测试!"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(p,BorderLayout.CENTER); f.pack(); f.setVisible(true); } }

点击展开全文

更多推荐