java swing入门教程
的有关信息介绍如下:java swing 简单案例
创建一个JFrame
下面用简单的实例演示了JavaSwing创建一个能输入内容的窗口
publicclassframeTest(){
publicstaticvoidMain(Stringargs[]){
//创建JFrame对象,JFrame用来在屏幕上显示一个Windows窗口。
JFrameframe=newJFrame("第一个JFrame");
//建立一个文本输入域对象,由于文本输入域是JComponent的子类,可以采用以
//下方法定义。
JComponentcomp=newJTextArea();
//将上面建立的文本输入域加入到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的预定义动作事件
在JavaSwing教程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。
importjavax.swing.JWindow;
publicclassJWindowTest{
publicstaticvoidmain(String[]args){
//创建JWindows对象
JWindowwindow=newJWindow();
//这里,一样可以通过教程getContentPane().add()方法为该JWindow增加组件
//window.getContentPane().add(JComponent,BorderLayout.CENTER);
//设置初始化大小
window.setSize(200,200);
//显示该窗体
window.setVisible(true);
}
}
JavaSwing教程4-文件选择框
Java为文件选择框提供了JFileChooser类API。通过使用该类,可以很方便的现实文件选择对话框。见下例:
//建立文件选择框对象
JFileChooserfc=newJFileChooser();
//设定文件选择框标题
fc.setDialogTitle("OpenclassFile");
//显示文件选择框,在选择后将结果储存到returnVal变量中
intreturnVal=fc.showOpenDialog(app.getFrameInstance());
//如果用户选择了文件,并点击了"Opne/打开"按钮,显示用户选择的文件全名路径,
//如果用户点击"Close/关闭"按钮,以及其它方式退出文件选择框,则什么也不做。
if(returnVal==JFileChooser.APPROVE_OPTION){
Filefile=fc.getSelectedFile();
System.out.println(file.getPath());
}
注意在文件选择对话框中,可以进行选择目录的操作,只需要用FileChooser对象的setFileSelectionMode()方法指定其选择模式为目录选择。见下面代码
//上例中可以在文件对话框显示语句前加上下面代码,使对话框成为目录选择对话框
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
在文件选择过程中,我们可以为文件选择对话框设置过滤器,有了过滤器的对话框,会用下拉列表的方式将过滤的文件名特征显示在"文件类型"组合框中,并将不符合条件的文件名和目录名过滤掉(不显示)。
为一个文件选择对话框设置过滤器需要定义过滤器类,见下例:
publicclassClassFileFilterextendsFileFilter{
publicbooleanaccept(Filef){
Stringfilename=f.getName();
returnfilename.endsWith(".class");
}
publicStringgetDescription(){
return"*.class";
}
}
该类定义了一个过滤Java类文件"*.class"的过滤器。
将它增加到文件选择对话框中,可以过滤出以.class为尾缀的文件。见下面代码:
fc.addChoosableFileFilter(newClassFileFilter());
针对一个对话框,我们可以为其加装多个过滤器。这里有对过滤器更加诠释的代码:
publicclassImageFilterextendsFileFilter{
//Acceptalldirectoriesandallgif,jpg,tiff,orpngfiles.
publicbooleanaccept(Filef){
if(f.isDirectory()){
returntrue;
}
Stringextension=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)){
returntrue;
}else{
returnfalse;
}
}
returnfalse;
}
publicStringgetDescription(){
return"JustImages";
}
}
该过滤器为图像文件过滤器。
JavaSwing教程5-JTable
利用J2SE提供的JTable组件类可以很方便的实现应用程序中的表格功能,以实例阐述如下:
该实例运行结果如下:
其代码如下:
importjava.awt.BorderLayout;
importjava.awt.Dimension;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
publicclassTest01{
publicstaticvoidmain(String[]args){
//声明列名数组
String[]columnNames={"姓名","性别","年龄","籍贯","婚否"};
//声明数据二维数组
Object[][]data={
{"赵刚","男",newInteger(18),"北京",newBoolean(false)},
{"钱霞","女",newInteger(28),"北京",newBoolean(true)},
{"孙大伟","男",newInteger(32),"上海",newBoolean(false)},
{"李民","男",newInteger(30),"南京",newBoolean(true)},
{"周丽丽","女",newInteger(34),"重庆",newBoolean(false)}};
//创建JTable对象t
finalJTablet=newJTable(data,columnNames);
//设置JTable对象的可视区,超出部分会用下面的滚动条来显示
t.setPreferredScrollableViewportSize(newDimension(400,70));
//定义一个容器
JPanelp=newJPanel();
//在容器中加入表格和滚动条
p.add(t);
JScrollPanes=newJScrollPane(t);
p.add(s);
//设置容器为透明的
p.setOpaque(true);
//以下代码在前几个JavaSwing教程中已经讲过,这里不重复!
JFramef=newJFrame("JTable测试!");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(p,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
}