----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
练习-列出指定目录内容
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class MyWindowDemo
{
private Frame f;
private TextField tf;
private Button but;
private TextArea ta;
private Dialog d;
private Label lab;
private Button okBut;
MyWindowDemo()
{
init();
}
public void init()
{
f = new Frame("my window");
f.setBounds(300,100,600,500);
//距左,距右,横向,纵向
f.setLayout(new FlowLayout());
tf = new TextField(60);
but = new Button("转到");
ta = new TextArea(25,70);
d = new Dialog(f,"提示信息-self",true);
//顶层窗口,默认边界布局,若后面参数为false,则可以不管它,继续执行其他窗口程序。
d.setBounds(400,200,240,150);
d.setLayout(new FlowLayout());
lab = new Label();
okBut = new Button("确定");
d.add(lab);
d.add(okBut);
f.add(tf);
f.add(but);
f.add(ta);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
okBut.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
d.setVisible(false);
}
});
d.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
d.setVisible(false);
//最小化,不一定非要关闭
}
});
//回车的功能,和转到按钮效果一样。
tf.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==KeyEvent.VK_ENTER)
showDir();
}
});
but.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
showDir();
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
//封装一下,便于多次利用。
private void showDir()
{
String dirPath = tf.getText();
File dir = new File(dirPath);
if(dir.exists() && dir.isDirectory())
{
ta.setText("");
String[] names = dir.list();
for(String name : names)
{
ta.append(name+"\r\n");
}
}
else
{
String info = "您输入的信息:"+dirPath+"是错误的。请重输";
//输入提示信息
lab.setText(info);
d.setVisible(true);
}
}
public static void main(String[] args)
{
new MyWindowDemo();
}
}
菜单
import java.awt.*;
import java.awt.event.*;
class MyMenuDemo
{
private Frame f;
private MenuBar mb;
private Menu m,subMenu;
private MenuItem closeItem,subItem;
MyMenuDemo()
{
init();
}
public void init()
{
f = new Frame("my window");
f.setBounds(300,100,500,600);
f.setLayout(new FlowLayout());
//文本框可以使用边界布局(默认布局,不用FlowLayout();),则不会随着调整窗口大小而造成布局混乱。
mb = new MenuBar();
m = new Menu("文件");
subMenu = new Menu("子菜单");
//条目没有箭头,子菜单有。
subItem = new MenuItem("子条目");
closeItem = new MenuItem("退出");//菜单项是最终项。
subMenu.add(subItem);
m.add(subMenu);
m.add(closeItem);
mb.add(m);
f.setMenuBar(mb);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
closeItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
new MyMenuDemo();
}
}
ps:改变class包存放位置
javac -d c:\myclass MyMenuTest.java
jar -cvf my.jar mymenu
需要将主函数的类名告诉java包
记事本:
Main-Class: (空格)mymenu.MymenuText(回车)
-m 包含指定清单中的清单信息
jar cvfm classes.jar mymanifest -c foo/.
jar -cvfm
工具-文件夹选项-文件类型-找到jar类型(若没有可以新建一个)-open操作
新建:
新建扩展名为JAE的文件,高级-修改图标-确定-新建-操作open,用于执行操作的应用程序-浏览-jre\bin\javaw.exe -jar-确定
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------