1.请教高手:利用JAVA软件写手机日记方便吗?怎么把存在手机JAVA的实现日记导出到电脑上啊...1
2.会当凌绝顶:Java开发修行实录本书特色
3.用java编写一个“我的日记”的界面并使其实现写日记的功能, 最好含有登陆界面的日记软件
请教高手:利用JAVA软件写手机日记方便吗?怎么把存在手机JAVA的日记导出到电脑上啊...1
好像比较困难,java文件保存的源码格式也比较怪,一般打不开。实现
如果手机有复制-粘贴功能的日记软件话,可以试试这个方法:复制原来的源码大众点评 android源码日记,在手机里新建短信,实现粘贴,日记软件然后保存到草稿箱,源码然后将短信导入到电脑。实现很多手机的日记软件短信箱是可以导入到电脑的。
会当凌绝顶:Java开发修行实录本书特色
本书以一问一答的源码形式贯穿始终,用故事性和趣味性的实现curl 源码安装语言讲解编程知识,让枯燥的日记软件编程学习变得轻松有趣。通过作者“我”的源码学习经历,读者可以直观地了解编程技术的成长路径。日记式的记录,将生活与知识点紧密结合,让读者在阅读中豁然开朗。宁夏麻将源码
本书遵循理论与实践相结合的原则,每一章节的知识点讲解后,通过一个具体实例来实践应用,确保所有实例具有代表性,帮助读者巩固所学。
用通俗易懂的apache源码实现语言,以大话的形式展现知识,让读者仿佛在阅读故事,而非学习深奥的语言知识。通过问题串联知识点,设置大量测试和问题,帮助读者在解决问题的mybatis 3.2.8 源码过程中掌握知识点,达到学习与实践的双重效果。
每一章的结构设计为:提出问题、讲解解决方法、解决问题。这种问题导向的学习方式,使读者在实践中深入理解知识点。
本书还包含一套超值DVD光盘,内容丰富多样:实例源代码、视频教学课堂、PPT教案以及免费赠送的综合案例源码和教学视频,为读者提供全方位的学习支持。
综上所述,本书以其独特的问题导向学习模式、丰富的实例与实践结合、通俗易懂的语言、以及全面的学习资源,成为Java开发领域的一本高质量自学指南,为编程初学者提供了一个高效、有趣的学习路径。
用java编写一个“我的日记”的界面并使其实现写日记的功能, 最好含有登陆界面的
代码如下,自己测试哦
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.*;
import java.awt.Color;
import java.awt.event.ActionEvent;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;
import javax.swing.JColorChooser;
class Diary extends JFrame implements ActionListener,TreeSelectionListener{
JMenuBar menubar;
JMenu menu1,menu2,menu3,menu4,menu5,menu6;
JMenuItem item1,item2,item3,item4,item5,item6,item7,item8,item,item,item,item,item;
JTextArea text=new JTextArea(,);
JButton b_save=new JButton("保存日志");
JButton b_del=new JButton("删除日志");
JButton b3=new JButton("锁定日志");
JButton b4=new JButton("解除锁定");
JSplitPane split1,split2;
JScrollPane scroll1,scroll2;
JPanel p;
JTree tree=null;
int i=0;
DefaultMutableTreeNode root;
DefaultMutableTreeNode month[]=new DefaultMutableTreeNode[];
Diary(){
final JFrame frame = this;
menubar=new JMenuBar();
menu4=new JMenu("登陆");
item6=new JMenuItem("密码登陆");
menu4.add(item6);
menubar.add(menu4);
menu1=new JMenu("文件");
item1=new JMenuItem("新建");
item2=new JMenuItem("退出");
menu1.add(item1);
menu1.add(item2);
menubar.add(menu1);
menu2=new JMenu("编辑");
item3=new JMenuItem("复制");
item4=new JMenuItem("剪切");
item5=new JMenuItem("粘贴");
item=new JMenuItem("全选");
menu2.add(item3);
menu2.add(item4);
menu2.add(item5);
menu2.add(item);
menubar.add(menu2);
menu3=new JMenu("设置");
//item6=new JMenuItem("密码设置");
item=new JMenuItem("设置字体颜色");
item=new JMenuItem("设置背景颜色");
item=new JMenuItem("锁定编辑区");
item=new JMenuItem("解除锁定");
//menu3.add(item6);
menu3.add(item);
menu3.add(item);
menu3.add(item);
menu3.add(item);
menubar.add(menu3);
menu4=new JMenu("查看");
item7=new JMenuItem("状态栏");
menu4.add(item7);
menubar.add(menu4);
menu5=new JMenu("帮助");
item8=new JMenuItem("我的日记本信息");
menu5.add(item8);
menubar.add(menu5);
setJMenuBar(menubar); //把菜单条添加到窗口顶端
Container con=getContentPane(); //调用getContentPane()方法获的内容面板
root=new DefaultMutableTreeNode("日历记事本"); //结合树的输入与输出建立一个日历记事本
for(i=1;i<=;i++)
{
month[i]=new DefaultMutableTreeNode(""+i+"月");
root.add(month[i]);
}
for(i=1;i<=;i++)
{
if(i==1||i==3||i==5||i==7||i==8||i==||i==)
{
for(int j=1;j<=;j++)
month[i].add(new DefaultMutableTreeNode(j+"日"));
}
else if(i==4||i==6||i==9||i==)
{
for(int j=1;j<=;j++)
month[i].add(new DefaultMutableTreeNode(j+"日"));
}
else
{
for(int j=1;j<=;j++)
month[i].add(new DefaultMutableTreeNode(j+"日"));
}
}
tree=new JTree(root);
p=new JPanel(); //使用JPanel创建一个面板
p.add(b_save);p.add(b_del);p.add(b3);p.add(b4); //把这4个按钮组件假如面板中
scroll1=new JScrollPane(text,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); //把文本框放入滚动窗格中
b_save.addActionListener((ActionListener) this); //按钮的监听器
b_del.addActionListener((ActionListener) this);
scroll2=new JScrollPane(tree);
split1=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,p,scroll1); //水平拆分这4个按钮和文本区
split2=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,scroll2,split1); //竖直拆分树行日历和文本按钮区
item1.addActionListener((ActionListener) this); //菜单栏的监听器
item2.addActionListener((ActionListener) this);
item3.addActionListener((ActionListener) this);
item4.addActionListener((ActionListener) this);
item5.addActionListener((ActionListener) this);
item6.addActionListener((ActionListener) this);
item7.addActionListener((ActionListener) this);
item8.addActionListener((ActionListener) this);
item.addActionListener((ActionListener) this);
item.addActionListener((ActionListener) this);
item.addActionListener((ActionListener) this);
item.addActionListener((ActionListener) this);
tree.addTreeSelectionListener((TreeSelectionListener) this); //树形日历的监听器
con.setLayout(new FlowLayout()); //设置布局
setSize(,); //设置窗体的大小
Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width-)/2,(screen.height-)/2);
setResizable(false); //设置窗口不可以调节大小
setVisible(true); //设置窗口为可视
con.add(split2); //把树形日历和按钮,文本区都加入到内容面板中
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //单击关闭图标后关闭窗口
}
public void valueChanged(TreeSelectionEvent e) //处理树形事件的接口
{
text.setText(null);
if(e.getSource()==tree)
{
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
if(node.isLeaf())
{
String str=node.toString();
for( i=0;i<=;i++)
{
if(node.getParent()==month[i])
{
try{ String temp=null;
File f=new File(node.getParent().toString()+str+".text");
FileReader file=new FileReader(f);
BufferedReader in=new BufferedReader(file);
while((temp=in.readLine())!=null)
text.append(temp+'\n');
file.close();
in.close();
}
catch(Exception el){ }
}
}
}
}
}
//}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b_save) //保存按钮的实现方法
{
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
String str=node.toString();
if(node.isLeaf())
{
try{
File f=new File(node.getParent().toString()+str+".text");
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(Exception el){ }
}
}
else if(e.getSource()==b_del)
{
int n=JOptionPane.showConfirmDialog(this, "该文件还没有保存,确定要删除吗?","确认对话框", JOptionPane.YES_NO_OPTION);
if(n==JOptionPane.YES_OPTION)
{
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
String str=node.toString();
if(node.isLeaf())
{
File f=new File(node.getParent().toString()+str+".text");
f.delete();
}
}
else if(n==JOptionPane.NO_OPTION)
{
System.exit(0);
}
}
else if(e.getSource()==b3)
{
text.setEditable(false);
}
else if(e.getSource()==b4)
{
text.setEditable(true);
}
String selected=e.getActionCommand(); //获取命令
if(selected.equals("退出")){ //执行"退出"命令
dispose();
}
else if(selected.equals("新建")){
text.setText("");
}
else if(selected.equals("复制"))
{
text.copy();
}
else if(selected.equals("剪切"))
{
text.cut();
}
else if(selected. equals("粘贴"))
{
text.paste();
}
else if(selected.equals("全选"))
{
text.selectAll();
}
else if(selected.equals("密码登陆"))
{
LoginWindow login=new LoginWindow();
}
else if(selected.equals("设置字体颜色")){
Color newColor=JColorChooser.showDialog(this, "选择字体颜色", text.getForeground());
if(newColor !=null)
{
text.setForeground(newColor);
}
}
else if(selected.equals("设置背景颜色"))
{
Color newColor=JColorChooser.showDialog(this, "选择背景颜色", text.getBackground());
if(newColor !=null)
{
text.setBackground(newColor);
}
}
else if(selected.equals("锁定编辑区"))
{
text.setEditable(false);
}
else if(selected.equals("解除锁定"))
{
text.setEditable(true);
}
}
}
class LoginWindow extends JFrame implements ActionListener {
JPanel p1=new JPanel(); //定义并建立面板
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();
JPanel p5=new JPanel();
JTextField text1=new JTextField(); //用户名文本框
JPasswordField text2=new JPasswordField(); //密码域
JButton ok=new JButton("确定");
JButton cancel=new JButton("取消");
LoginWindow()
{
setBackground(Color.DARK_GRAY); //设置背景颜色
Container con=getContentPane(); //取出内容面板
con.setLayout(new GridLayout(5,1)); //设置布局为5行1列
p2.add(new JLabel("用户名:"));p2.add(text1); //将组件添加到中间容器
p3.add(new JLabel("密码"));p3.add(text2);
p4.add(ok);p4.add(cancel);
ok.addActionListener(this); //注册事件监听器
cancel.addActionListener(this);
text1.addActionListener(this);
text2.addActionListener(this);
con.add(p1); con.add(p2); con.add(p3); con.add(p4); con.add(p5); //将面板添加到内容面板
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //单击关闭图标后关闭窗口
setSize(,); //设置窗口的大小
Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width-)/2,(screen.height-)/2);
setTitle("登录窗口");
setResizable(false); // 不让用户改变窗口大小
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==ok||e.getSource()==text2){
if(text1.getText().trim().equals("meijianwen") && text2.getText().trim().equals("")){
dispose(); //关闭登陆窗口
}
else{
JOptionPane.showMessageDialog(null, "用户名或密码错误!");
text1.requestFocus(); //设置焦点
text1.setSelectionStart(0); //设置选中文本开始位置
text1.setSelectionEnd(text1.getText().length());
}
}
else if(e.getSource()==cancel){ //单击取消按钮
dispose();
//System.exit(0);
}
else if(e.getSource()==text1) //在用户名文本框按回车焦点移到密码域
text2.requestFocus();
}
}
public class MyDiary
{
public static void main(String args[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
Font font=new Font("JFrame",Font.PLAIN,); //定义字体
Enumeration keys=UIManager.getLookAndFeelDefaults().keys(); //枚举风格关键字
while(keys.hasMoreElements())
{
Object key=keys.nextElement();
// if(((String)key).equals("Menu.foreground")||((String)key).equals("MenuItem.foreground"))
// UIManager.put(key,Color.DARK_GRAY); //设置菜单文字颜色
if(UIManager.get(key)instanceof Font)UIManager.put(key,font);
}
Diary win=new Diary();
win.validate();
}
}