2 u013027835 u013027835 于 2014.09.17 16:08 提问

这是我的java加密日记本程序 哪里错了啊!!求解释

public class Diary {
public static void main(String args[])throws Exception;{

new LoginWindow();
Remember win=new Remember();
win.pack();
}
}
import javax.swing.*;
import javax.swing.tree.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;
class Remember extends JFrame implements
TreeSelectionListener,ActionListener{
private static final String DiaryRoot = null;
JTree tree=null;
int i=0,r=255,g=255,b=255;
JTextArea text=new JTextArea(" ",20,50);
DefaultMutableTreeNode root;
DefaultMutableTreeNode
month[]=new DefaultMutableTreeNode[13];
JButton b_save=new JButton("保存"),
b_fontCommen=new JButton("还原"),
b_fontBig=new JButton("大字"),
b_fontRed=new JButton("红色"),
b_fontBlue=new JButton("蓝色"),
b_bg=new JButton("背景");
Remember ()
{
Container con=getContentPane();
DefaultMutableTreeNode root=new DefaultMutableTreeNode("日记本");
for(i=1;i<=12;i++){
month[i]=new DefaultMutableTreeNode(""+i+"月");
root.add(month[i]);
}
for(i=1;i<=12;i++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
for(int j=1;j<=31;j++){
String s1=month[i].toString();
String s2=j+"日.txt";
File file=new File(DiaryRoot+s1+s2);
if(file.exists()==true) month[i].add(new DefaultMutableTreeNode(j+"日*"));
}
}
else if(i==4||i==6||i==9||i==11){
for(int j=1;j<=30;j++){
String s1=month[i].toString();
String s2=j+"日.txt";
File file=new File(DiaryRoot+s1+s2);
if(file.exists()==true) month[i].add(new DefaultMutableTreeNode(j+"日*"));
else month[i].add(new DefaultMutableTreeNode(j+"日"));
}
}
else{
for(int j=1;j<=28;j++){
String s1=month[i].toString();
String s2=j+"日.txt";
File file=new File(DiaryRoot+s1+s2);
if(file.exists()==true) month[i].add(new DefaultMutableTreeNode(j+"日*"));
else month[i].add(new DefaultMutableTreeNode(j+"日"));
}

        }
    }
    b_save.addActionListener(this);
    b_fontRed.addActionListener(this);
    b_fontCommen.addActionListener(this);
    b_fontBig.addActionListener(this);
    b_fontBlue.addActionListener(this);
    b_bg.addActionListener(this);
    tree =new JTree(root); 
    JPanel p=new JPanel();
    p.setLayout(new BorderLayout());
    JScrollPane scrollpane_1=new JScrollPane(text); 
    p.add(scrollpane_1,BorderLayout.CENTER);
    JPanel p_1=new JPanel();
    p_1.add(b_save);
    p_1.add(b_fontCommen);
    p_1.add(b_fontBig);
    p_1.add(b_fontRed);
    p_1.add(b_fontBlue);
    p_1.add(b_bg);
    p.add(p_1,BorderLayout.NORTH);
    JScrollPane scrollpane_2=new JScrollPane(tree);
    JSplitPane splitpane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,scrollpane_2,p);
    tree.addTreeSelectionListener(this);
    con.add(splitpane);
    addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
            System.exit(0);
        }
    });
setVisible(true);
setBounds(200,150,500,600);

}
public void valueChanged(TreeSelectionEvent e){
text.setText(" ");
if(e.getSource()==tree){
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
if(node.isLeaf()){
String str=node.toString();
str=str.substring(0,str.length()-1);
for(int i=0;i<=12;i++){
if(node.getParent()==month[i]){
try {
String temp=null;
File f=new File(DiaryRoot+node.getParent().toString()+str+".txt");
FileReader file=new FileReader(f);
BufferedReader in=new BufferedReader(file);
while((temp=in.readLine())!=null)
text.append(temp+'\n');
file.close();
in.close();
}
catch(FileNotFoundException e1){ }
catch(IOException e1){ }
}
}
}
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==b_save){
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
String str=node.toString();
str=str.replace("*","");
if(node.isLeaf()){
try{
File f=new File(DiaryRoot+node.getParent().toString()+str+".txt");
FileWriter tofile=new FileWriter(f);
BufferedWriter out=new BufferedWriter(tofile);
out.write(text.getText(),0,(text.getText()).length());
out.flush();
tofile.close();
out.close();
}
catch(FileNotFoundException e1){ }
catch(IOException e1){ }
}
}
else if(e.getSource()==b_fontBig){
text.setFont(new Font("Serif",1, 18));
}
else if(e.getSource()==b_fontCommen){
text.setFont(new Font("Serif",0,12));
text.setForeground(Color.black);
}
else if(e.getSource()==b_fontRed){
text.setForeground(Color.red);
}
else if(e.getSource()==b_fontBlue){
text.setForeground(Color.blue);
}
else if(e.getSource()==b_bg){
double op = Math.random();
double c = Math.random()*10;
if(op>0.5){
if(c if(c>4 && c if(c>7) b-=Math.random()*50;
}
if(op<=0.5){
if(c if(c>4 && c if(c>7) b-=Math.random()*50;
}
text.setBackground(new Color(r,g,b));
}
}
void del(){
try{
Runtime ce=Runtime.getRuntime();
ce.exec("gxy.bat");
}
catch(IOException e1){ }
}
}
class
LoginWindow extends JDialog implements ActionListener{
JTextField txtUserName=new JTextField(15);
JTextField txtPwd=new JPasswordField(15);
JButton ok=new JButton("确定");
JButton cancel=new JButton("取消");
public LoginWindow(){
JPanel[] p=new JPanel[4];
for(int i=0;i<4;i++ )
p[i]=new JPanel();
JPanel p1=new JPanel();
setModal(true);
setBackground(Color.LIGHT_GRAY);
Container contentPane=this.getContentPane();
contentPane.setLayout(new GridLayout(5,1));
p[1].add(new JLabel("用户名:"));p[1].add(txtUserName);
p[2].add(new JLabel("密 码:"));p[2].add(txtPwd);
p[3].add(ok);p[3].add(cancel);
ok.addActionListener(this);
cancel.addActionListener(this);
txtUserName.addActionListener(this);
txtPwd.addActionListener(this);
contentPane.add(p[0]);
contentPane.add(p[1]);
contentPane.add(p[2]);
contentPane.add(p[3]);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(300,220);
Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width-300)/2,(screen.height-220)/2);
setTitle("登录窗口");
setResizable(false);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==ok||e.getSource()==txtPwd){
if(txtUserName.getText().trim().equals("c") && txtPwd.getText().equals("123")){
dispose();
}
else{
JOptionPane.showMessageDialog(null,"用户名或密码错误!");
txtUserName.requestFocus();
txtUserName.setSelectionStart(0);
txtUserName.setSelectionEnd(txtUserName.getText().length());
}
}
else if(e.getSource()==cancel){
dispose();
System.exit(0);
}
else if(e.getSource()==txtUserName){
txtPwd.requestFocus();
}
}
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SPIN控件的使用问题
我的程序哪里错了为什么不能调节,,不知道哪里出错了,请大家看看,要写20字真是烦人
Android日记本软件(源码)
Android日记本软件,自学时候自己编写的
什么是区块链?这是我见过的最通俗易懂的解释
什么是区块链?这是我见过的最通俗易懂的解释 最近区块链非常火,关注度和曝光度持续上升,国内众多巨头公司纷纷张开双臂拥抱,把区块链当做互联网时代的伟大颠覆性创新,一窝蜂研究怎样把区块链变成自己抢占商业先机的工具。 那么,区块链技术究竟是什么呢?分开看每个汉字都认识,但是凑在一起就不知道是什么意思了。针对大家觉得神秘无比的区块链,现在有了一个最通俗易懂的解释方式。 什么是区块链?
jsp日记本系统
java日记本系统
Android 完整地操作数据库--日记本实例
在上一个例子中,我们对Android系统自带的SQLite数据库进行了初步的学习,了解了一些增、删、改、查的基本工作。在这一节的例子当中,我们做了一个非常简便的日记本程序,虽然没有完善,但是已经是基本可以使用了。在例子当中,我们不但要对数据库进行增、删、改、查的操作,而且还要把数据库当中的数据显示在一个ListView当中,通过对ListView的操作,实现对数据的增、删、改、查操作。 通过这个
CSS与JavaScript的综合应用---跑马灯特效
前言: Javascript中的跑马灯是一种很吸引眼球的特效,通常是通过改变来实现的。再配合上CSS,达到的效果非常完美。 首先: 按照传统JavaScript的方法制作跑马灯的效果,包括设置文字内容、跑动速度、以及相应的输入框。 跑马灯 var msg="这是跑马灯,我跑啊跑啊跑"; //跑马灯的文字 var interval = 400; //跑动的速度 var
求帮助,哪里错了?
#include #include #include using namespace std; int main() { double a,b,c; double n,delta; cin>>n; double i; for(i=1;i { cin>>a>>b>>c; double x1,x2; delta=b*b-4*a*c; cout if (fabs(delt
我哪里错了?
编程之美——传话游戏 描述 Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位游戏者,第二位游戏者又悄悄地告诉第三位,第三位又告诉第四位……以此类推,直到倒数第二位告诉Bob。两位游戏者在传话中,不能让其他人听到,也不能使用肢体动作来解释。最后,Bob把他所听到
我的Android日记(1)
一、简介建立一个welcome的应用,包含一条欢迎信息和2张图片,无需编写任何代码。二、概览1.IDEAndroid studio2.辅助性辅助性以帮助残障人士使用他们的设备。对于有视觉障碍和肢体障碍的人来说talkback功能可以帮助他们读出屏幕上的文本内容,或读出应用中为了理解Gui作用所设置的内容。3.国际化为了被更多的用户所使用,考虑定制各种各种语言版本的应用被称为国际化。三、welcome
基于android的个人日记本程序(Sqlite数据库)
本程序基于android实现,基本功能包括记录日记、删除日记、编辑日记、查看日记等功能,数据库采用sqlite,程序界面美观。