小弟最近在学JAVA
做一个小程序时,程序没问题能走,就是没有界面出来
请大哥大姐的帮帮小弟
程序主要是要实现通过登录后能编辑文本,并保存!
下面就是我写的程序,等通过编译,就是没有界面!
import java.io.*;
import java.awt.event.*;
import java.awt.*;
//import javax.swing.JOptionPane; public class sword extends Panel
{
public static void main(String args[])
{
log aa=new log();
System.out.println("aa OK");
}
}
class log extends Panel implements ActionListener
{
//Panel panel;
TextField name,password;
Button button;
log()
{//setLayout(new BorderLayout() );
//panel=new Panel(); name=new TextField(10);
add(new Label("名字"));
password=new TextField(10);
add(new Label("密码")); button=new Button("登录");
//panel.
add(name,BorderLayout.CENTER);
//panel.
add(password,BorderLayout.NORTH);
//panel.
add(button);
//add(panel);
button.addActionListener(this);
System.out.println("log OK");
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button)
{
if(name.getText()=="sword")
{
int a=Integer.parseInt(password.getText());
if(a==1234)
{
FileWindows win=new FileWindows ();
}
// else
// {
// JOptionPane.showMessageDialog(this,"密码错误","提示",JOptionPane.WARNTING_MESSAGE);
// }
}
} }
}
class FileWindows extends Frame implements ActionListener
{ FileDialog filedialog_load, filedialog_save; //声明两个文件对话框
MenuBar menubar;
Menu menu;
MenuItem Open,Save;
TextArea text;
BufferedReader bufferIn;
FileReader in;
FileReader file_reader;
BufferedWriter out;
FileWriter tofile;
FileWindows()
{
super("Dialog");
text=new TextArea(10,10);
text.setBackground(Color.cyan);
setSize(340,340);
setVisible(true);
menubar=new MenuBar();
menu=new Menu("file");
Open=new MenuItem("Open");
Save=new MenuItem("Save");
Open.addActionListener(this);
Save.addActionListener(this);
menu.add(Open);
menubar.add(menu);
setMenuBar(menubar);
menu.add(Save);
add(text);
filedialog_load =new FileDialog(this,"open dialog",FileDialog.LOAD);
filedialog_save =new FileDialog(this,"save dialog",FileDialog.SAVE);
filedialog_load.addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{filedialog_load.setVisible(false);
}
});
filedialog_save.addWindowListener(new WindowAdapter() //对话框增加适配器
{ public void windowClosing(WindowEvent e)
{filedialog_save.setVisible(false);
}
});
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}); } public void actionPerformed(ActionEvent e)
{
if(e.getSource()==Open)
{filedialog_load.setVisible(true);
text.setText(null);
String s;
if (filedialog_load.getFile()!=null)
{
try {
text.setText(null);
File file=new
File (filedialog_load.getDirectory(),filedialog_load.getFile());
file_reader=new FileReader(file);
bufferIn=new BufferedReader(file_reader);
while ((s=bufferIn.readLine())!=null)
{text.append(s+'\n');
}
bufferIn.close();
} catch(IOException exp){System.out.println(exp);}
}
}
else if(e.getSource()==Save)
{filedialog_save.setVisible(true);
if (filedialog_save.getFile()!=null)
{
try
{
File file=new
File(filedialog_save.getDirectory(),filedialog_save.getFile());
tofile=new FileWriter(file);
out=new BufferedWriter(tofile);
out.write(text.getText(),0,(text.getText()).length());
out.flush();
out.close();
tofile.close();
}
catch(IOException e2){}
}
}
} }
做一个小程序时,程序没问题能走,就是没有界面出来
请大哥大姐的帮帮小弟
程序主要是要实现通过登录后能编辑文本,并保存!
下面就是我写的程序,等通过编译,就是没有界面!
import java.io.*;
import java.awt.event.*;
import java.awt.*;
//import javax.swing.JOptionPane; public class sword extends Panel
{
public static void main(String args[])
{
log aa=new log();
System.out.println("aa OK");
}
}
class log extends Panel implements ActionListener
{
//Panel panel;
TextField name,password;
Button button;
log()
{//setLayout(new BorderLayout() );
//panel=new Panel(); name=new TextField(10);
add(new Label("名字"));
password=new TextField(10);
add(new Label("密码")); button=new Button("登录");
//panel.
add(name,BorderLayout.CENTER);
//panel.
add(password,BorderLayout.NORTH);
//panel.
add(button);
//add(panel);
button.addActionListener(this);
System.out.println("log OK");
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button)
{
if(name.getText()=="sword")
{
int a=Integer.parseInt(password.getText());
if(a==1234)
{
FileWindows win=new FileWindows ();
}
// else
// {
// JOptionPane.showMessageDialog(this,"密码错误","提示",JOptionPane.WARNTING_MESSAGE);
// }
}
} }
}
class FileWindows extends Frame implements ActionListener
{ FileDialog filedialog_load, filedialog_save; //声明两个文件对话框
MenuBar menubar;
Menu menu;
MenuItem Open,Save;
TextArea text;
BufferedReader bufferIn;
FileReader in;
FileReader file_reader;
BufferedWriter out;
FileWriter tofile;
FileWindows()
{
super("Dialog");
text=new TextArea(10,10);
text.setBackground(Color.cyan);
setSize(340,340);
setVisible(true);
menubar=new MenuBar();
menu=new Menu("file");
Open=new MenuItem("Open");
Save=new MenuItem("Save");
Open.addActionListener(this);
Save.addActionListener(this);
menu.add(Open);
menubar.add(menu);
setMenuBar(menubar);
menu.add(Save);
add(text);
filedialog_load =new FileDialog(this,"open dialog",FileDialog.LOAD);
filedialog_save =new FileDialog(this,"save dialog",FileDialog.SAVE);
filedialog_load.addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{filedialog_load.setVisible(false);
}
});
filedialog_save.addWindowListener(new WindowAdapter() //对话框增加适配器
{ public void windowClosing(WindowEvent e)
{filedialog_save.setVisible(false);
}
});
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}); } public void actionPerformed(ActionEvent e)
{
if(e.getSource()==Open)
{filedialog_load.setVisible(true);
text.setText(null);
String s;
if (filedialog_load.getFile()!=null)
{
try {
text.setText(null);
File file=new
File (filedialog_load.getDirectory(),filedialog_load.getFile());
file_reader=new FileReader(file);
bufferIn=new BufferedReader(file_reader);
while ((s=bufferIn.readLine())!=null)
{text.append(s+'\n');
}
bufferIn.close();
} catch(IOException exp){System.out.println(exp);}
}
}
else if(e.getSource()==Save)
{filedialog_save.setVisible(true);
if (filedialog_save.getFile()!=null)
{
try
{
File file=new
File(filedialog_save.getDirectory(),filedialog_save.getFile());
tofile=new FileWriter(file);
out=new BufferedWriter(tofile);
out.write(text.getText(),0,(text.getText()).length());
out.flush();
out.close();
tofile.close();
}
catch(IOException e2){}
}
}
} }
所以登录界面那个就不能用frame了
大哥大姐们请帮帮忙
最好能把程序调一下
弄出来
谢谢!
我的是先出来登录(继承panel的log类)
输入密码和用户名
点击按钮打开操作(继承的frame的FileWindows类)
log应该是登录界面吧
它应该继承JFrame
当你登录后,会出现新的Frame,
你可以把原来的JFrame关掉。用Panel是出不来的。而且你的程序里有些不必要的继承,使程序很乱。
JFrame1.setVisible(false);
JFrame2.serVisible(true);
加入到事件监听器里面去。
如果是在一个窗口内,
改变布局和组件来达到改变界面的话,
getContentPane.removeAll();//移出了所有的组件
getContentPane.validateTree();//重新布局和放组件
//加入你的新布局和组件
JFrame.repaint();//通知界面进行重画组件