java-我的记事本
2019-04-15 12:46发布
生成海报
代码如下
public class Main {
public static void main(String[] args) {
try{
Pic pic=new Pic();
Thread t1=new Thread(pic);
t1.start();
Ui ui=new Ui();
Thread t2=new Thread(ui);
t2.start();
}
catch(Exception e){
Pic pic=new Pic();
Thread t1=new Thread(pic);
t1.start();
Ui ui=new Ui();
Thread t2=new Thread(ui);
t2.start();
}
}
}
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
class TuPian extends JFrame{
private static final long serialVersionUID = 1L;
public TuPian(String bmpFile){
Image image = null;
try {
image = ImageIO.read(new File(bmpFile));
} catch (IOException ex) {
}
JLabel label = new JLabel(new ImageIcon(image));
add(label);
setDefaultCloseOperation(JFrame.ICONIFIED);
pack();
}
}
public class Pic extends JFrame implements Runnable{
public void run() {
TuPian tp=new TuPian("./images/big.jpg");
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new TuPian("./images/big.jpg").setVisible(true);
}
});
}
}
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Dialog;
import java.awt.FileDialog;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Image;
import java.awt.Label;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
class Ui implements Runnable{
/*
* 创建窗体以及里面的组件
* */
private Frame frame; //整个框架
private Panel northpanel,southpanel; //添加控制板"北面"和“南面”
private MenuBar menubar; //菜单栏
private Menu menu1,menu2; //创建两个菜单条目
private MenuItem menuitem1,menuitem2,menuitem3; //创建三个最小级别菜单条目
private TextArea textarea; //文本区域,写日记
private TextField textfield1,textfield2,textfiled3; //创建文本框1和2,用来写时间和天气
private Button button1,button2,button3; //创建按钮1和2分别用来保存和清空内容
private Label label1,label2,label3,label4; //创建“时间”“天气”“作者信息”“星期”标签
private Dialog dialog; //创建“对话框”
private File file; //创建文件对象
private FileDialog fileDialog; //创建“保存”对话框
private Image image;
private Toolkit kit;
private Font font;
private void init(){ //初始化函数内容
kit =Toolkit.getDefaultToolkit();
image=kit.createImage("./images/big.gif");//设置程序图标
font=new Font("Serif",Font.PLAIN,15);
frame=new Frame("我的日记本"); //窗口和标题
frame.setSize(600, 500);//设置窗口大小
frame.setLocationRelativeTo(null); //默认窗口出现位置居中,也可以手动进行设置
frame.setResizable(false); //不能更改大小
frame.setVisible(true); //设置可见性
frame.setBackground(Color.lightGray); //设置背景 {MOD},暂定为null
frame.setFont(font);
northpanel=new Panel(); //实例化“控制板”
southpanel=new Panel();
label1=new Label("年月:"); //实例化“时间”“天气”“星期”标签
label4=new Label("星期:");
label2=new Label("天气:");
menubar=new MenuBar(); //这里是菜单栏,菜单层级以此是MenuBar--Menu--MenuItem
menu1=new Menu("文件"); //添加菜单条目menu
menu2=new Menu("关于");
menuitem1=new MenuItem("保存");
menuitem2=new MenuItem("退出");
menuitem3=new MenuItem("作者简介");
menubar.add(menu1); //将菜单条目添加到菜单栏
menu1.add(menuitem1); //添加的是“保存”条目
menu1.addSeparator();
menu1.add(menuitem2); //添加的是“退出”条目
menu1.addSeparator();
menu1.add(menu2); //添加的是“关于”条目
menu2.add(menuitem3); //添加的是“作者简介”条目
frame.setMenuBar(menubar); //窗口使用的菜单栏是menubar
textarea=new TextArea("此处写日记",10,40); //实例化文本域,初始文字和行列数
textfield1=new TextField(10); //时间文本框,10列
textfield2=new TextField(10); //天气文本框,10列
textfiled3=new TextField(10); //星期文本框,10列
button1=new Button("保存"); //保存按钮
button2=new Button("清空"); //清空文本按钮
northpanel.add(label1); //"北面"的控制面板添加“标签”和“文本框”
northpanel.add(textfield1);
northpanel.add(label4);
northpanel.add(textfiled3);
northpanel.add(label2);
northpanel.add(textfield2);
southpanel.add(button1); //“南面”的控制面板添加“保存”和“清空”按钮
southpanel.add(button2);
frame.add(northpanel,BorderLayout.NORTH); //frame将“控制面板”的位置添加到“北面”和“南面”的borderlayout布局中
frame.add(southpanel,BorderLayout.SOUTH);
frame.add(textarea,BorderLayout.CENTER); //将“文本域”添加到中间的布局中
dialog=new Dialog(frame, "作者简介",true); //点击按钮的时候创建“作者简介”对话框
dialog.setSize(195, 100); //dialog默认是borderlayout布局
dialog.setLocationRelativeTo(null);
label3 = new Label("Made By 马济亨, Version-1.2");
button3 = new Button("好");
dialog.add(label3,BorderLayout.NORTH);
dialog.add(button3,BorderLayout.SOUTH);
dialog.setResizable(false);
fileDialog=new FileDialog(frame,"日记保存",FileDialog.SAVE); //文件保存路径对象的创建
listener();
}
/*
*文件保存的功能函数
* */
private void save(){
if(file==null){
fileDialog.setVisible(true);
String pass=fileDialog.getDirectory();
String name=fileDialog.getFile();
if(pass==null||name==null)
return;
file=new File(pass,name);
}
try{
BufferedWriter bufw=new BufferedWriter(new FileWriter(file));
String text=textarea.getText(); //获取文本域内容
String time=textfield1.getText(); //获取写作时间
String weather=textfield2.getText(); //获取天气情况
String week=textfiled3.getText(); //获取星期
bufw.append("年月:"+time+" ");
bufw.append("星期:"+week+" ");
bufw.append("天气:"+weather+"
"+"
");
bufw.append(text);
bufw.close();
}
catch(IOException error){
throw new RuntimeException("IO error happend!");
}
}
/*
*清空所有内容操作
* */
private void clear(){
textarea.setText("");
textfield1.setText("");
textfield2.setText("");
textfiled3.setText("");
}
/*
* 监听器函数设计
* */
private void listener(){
/*
* 第一个窗口监听器,处理窗口关闭时的动作
* */
frame.addWindowListener(new WindowAdapter () {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
/*
* 第二个监听器,处理菜单级别的退出动作
* */
menuitem2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
/*
* 第三个监听器,处理作者信息按钮
* */
menuitem3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
dialog.setVisible(true);
}
});
/*
* 第四个监听器,处理“作者信息”对话窗口的关闭操作
* */
dialog.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dialog.setVisible(false);
}
});
/*
* 第五个监听器,处理“作者信息”对话窗口的“好”操作
* */
button3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
dialog.setVisible(false);
}
});
/*
* 第六个监听器,菜单栏的“保存”按钮操作
* */
menuitem1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
save();
clear();
}
});
/*
* 第七个监听器,下面的“保存按钮”的动作
* */
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
save();
clear();
}
});
/*
* 第八个监听器,“清除按钮”的作用
* */
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textarea.setText("");
}
});
}
@Override
public void run() {
// TODO Auto-generated method stub
init();
}
}
效果图
详细地址:
http://java.662p.com/thread-1758-1-1.html
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮