java swing入门教程

  • 原创
  • |
  • 浏览:2856
  • |
  • 更新:

java swing 简单案例

工具/原料

  • myeclipse或eclipse
  • 如没有jar包请自行网上下载

方法/步骤

  1. 1

    创建一个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的预定义动作事件 

  2. 1
    该信息非法爬取自百度经验
  3. 2

    在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-文件选择框  

  4. 3

    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";  

        }  

    }  

    该过滤器为图像文件过滤器。  

  5. 4

    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);  

     }  

    }  

    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部