public class CardLayout_1 {
public static void main(String args[]) {
new CardLayout_1().go();
}
public void go() {
final Frame f = new Frame("CardLayout演示");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
f.setVisible(false);
f.dispose();
System.exit(0);
}
});
f.setSize(300, 100);
f.setLayout(new FlowLayout());
//f.setLayout(new CardLayout());buttom按钮自动充满窗体,改为f.setLayout(new FlowLayout())就可以看到全部布局。
final Frame f1 = f;
for (int i = 1; i <= 5; i++) {
Button b = new Button("Button " + i);
b.setSize(100, 25);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
CardLayout cl = (CardLayout) f1.getLayout();
cl.next(f1);
}
});
f.add(b, "button" + i);
}
f.setVisible(true);
}
}
看完毕老师视频写的例子:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class MyMenuTest
{
private Frame f;
private MenuBar bar;
private TextArea ta;
private Menu fileMenu;
private MenuItem openItem,saveItem,closeItem;
private FileDialog openDia,saveDia;
private File file;
MyMenuTest()
{
init();
}
public void init()
{
f = new Frame("my window");
f.setBounds(300,100,650,600);
//f.setLayout(new FlowLayout());//边界布局
bar = new MenuBar();
ta = new TextArea();
fileMenu = new Menu("文件");
openItem = new MenuItem("文件");
saveItem = new MenuItem("保存");
closeItem = new MenuItem("退出");
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.add(closeItem);
bar.add(fileMenu);
f.setMenuBar(bar);
openDia = new FileDialog(f,"我要打开",FileDialog.LOAD);
saveDia = new FileDialog(f,"我要保存",FileDialog.SAVE);
f.add(ta);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
saveItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(file ==null)
{
saveDia.setVisible(true);
String dirPath =saveDia.getDirectory();
String fileName = saveDia.getFile();
if(dirPath==null || fileName== null)
return;
file = new File(dirPath,fileName);
}
try
{
BufferedWriter bufw = new BufferedWriter(new FileWriter(file));
String text = ta.getText();
bufw.write(text);
//bufw.flush();
bufw.close();
}
catch(IOException ex)
{
throw new RuntimeException();
}
}
});
openItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openDia.setVisible(true);
String dirPath = openDia.getDirectory();//路径
String fileName = openDia.getFile();//文件名
System.out.println(dirPath+"......"+fileName);
if (dirPath == null || fileName==null)
return;
ta.setText("");//清空
file = new File(dirPath,fileName);//封装文件
try
{
BufferedReader bufr = new BufferedReader(new FileReader(file));
String line =null ;
while((line=bufr.readLine())!=null)
{
ta.append(line+"\r\n");
}
bufr.close();
}
catch(IOException ex)
{
throw new RuntimeException("读取失败");
}
}
});
closeItem.addActionListener(new ActionListener()
{
//closeItem.addPerformed(ActionEvent e)
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 MyMenuTest();
}
}
|