`
kidiaoer
  • 浏览: 822628 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

    javaswing教程 精通javaswing

    "Java Swing 教程精通 Java Swing" Java Swing 是 Java 平台的 UI 组件库,提供了处理用户和计算机之间全部交互的软件。它提供了处理键盘、颜色、打字的地址栏、音量等 UI 各方面内容的机制。Swing 的角色是充当...

    javaSwing教程

    这个“javaSwing教程”包含了深入学习Swing组件的基础知识,这对于任何想要构建美观、功能丰富的桌面应用程序的Java开发者来说是必不可少的。 Swing 提供了一套丰富的组件库,用于创建窗口应用,包括按钮、文本框、...

    java swing漂亮界面(超酷) javaswing教程

    文档"javaswing教程.doc"应该包含了详细的步骤、实例代码以及最佳实践,帮助你深入理解和掌握Java Swing的界面设计技巧。 总之,Java Swing不仅是一个强大的工具集,也是开发者实现桌面应用创新设计的关键。通过这...

    java swing漂亮界面 超酷 javaswing教程

    在“Java Swing漂亮界面 超酷 JavaSwing教程”中,我们主要会探讨如何利用Swing来设计美观且用户友好的界面。Swing组件的一大优点是它们是轻量级的,这意味着它们完全由Java代码实现,而不是依赖于操作系统提供的...

    java+swing漂亮软件界面+超酷+以及javaswing教程.7z

    "java+swing漂亮软件界面+超酷+以及javaswing教程.7z"这个压缩包文件显然包含了关于如何利用Java Swing创建出吸引人的、具有超酷效果的软件界面的资源和教程。 Java Swing 提供了一系列的组件,如JFrame,它是窗口...

    javaswing教程1[汇编].pdf

    javaswing教程1[汇编].pdf

    Java Swing 教程

    ### Java Swing 教程知识点详解 #### 一、Swing 的背景与介绍 - **Swing 的起源**:Swing 是 Java 技术中的一个重要组成部分,用于构建图形用户界面(GUI)。它诞生于 Java 早期阶段,主要是为了解决原有 GUI 组件...

    java swing漂亮软件界面 超酷 以及javaswing教程.rar.rar

    这个压缩包“java swing漂亮软件界面 超酷 以及javaswing教程.rar.rar”很可能包含了一系列关于如何使用Java Swing创建美观、酷炫界面的教程和示例代码。 在Java Swing中,开发者可以使用各种组件来构建应用,如...

    java+swing漂亮软件界面+超酷+以及javaswing教程.zip

    在"java+swing漂亮软件界面+超酷+以及javaswing教程.zip"这个压缩包中,我们可以期待找到关于如何使用Java Swing构建美观且功能丰富的用户界面的相关教程和示例代码。 Java Swing 提供了大量的组件,如按钮、文本框...

    JavaSwing 实例教程

    本教程“JavaSwing 实例教程”旨在帮助初学者深入理解和掌握Swing的基本用法,通过实例化的教学方式,让学习者能够快速上手。 Swing 是Java AWT(Abstract Window Toolkit)的扩展,它提供了更现代、更丰富的组件,...

    java swing教程

    Java Swing是Java编程语言中用于...总之,Java Swing教程旨在帮助初学者和有经验的开发者掌握如何使用Swing创建美观且功能齐全的桌面应用。通过深入学习和实践,你可以熟练运用Swing开发出满足用户需求的高质量软件。

    JAVA SWING教程

    总之,JAVA SWING教程不仅涵盖了GUI设计的基本元素,还深入到高级组件和功能,是学习和掌握Java桌面应用开发的宝贵资源。通过深入学习和实践,开发者可以构建出功能强大且用户友好的应用程序,充分利用Java的跨平台...

    javaswing教程1.pdf

    javaswing教程1.pdf

    JAVA Swing 全教程

    JAVA Swing 是Java GUI(图形用户界面)开发的重要库,它为开发者提供了丰富的组件和功能,使得构建复杂的桌面应用程序变得更为简单。Swing是基于Java Foundation Classes (JFC) 平台的一部分,它在Abstract Window ...

    Java swing 教程

    在Java Swing教程中,初学者通常会接触到以下几个核心知识点: 1. **基础组件**: Swing 提供了多种组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、滚动面板(JScrollPane)、菜单(JMenu)和对话框...

Global site tag (gtag.js) - Google Analytics