| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 399 人关注过本帖
标题:[求助]大虾们快快来看一下?
只看楼主 加入收藏
tuyu2008
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2004-11-29
收藏
 问题点数:0 回复次数:0 
[求助]大虾们快快来看一下?
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
import java.awt.datatransfer.*;
public class JishiBen extends JFrame implements ActionListener{
JTextArea ta;
private Clipboard clipboard = getToolkit().getSystemClipboard();
JMenuBar mb;
public JishiBen(){
super("JishiBen");
Container container = getContentPane();


container.setLayout(new BorderLayout());

addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});

ta = new JTextArea();
JScrollPane taJp = new JScrollPane(ta);
mb=new JMenuBar();
setJMenuBar(mb);
JMenu m1=new JMenu("文件");
JMenu m2=new JMenu("编辑");
JMenu m3=new JMenu("格式");
JMenu m4=new JMenu("窗口");
JMenu m5=new JMenu("帮助");
mb.add(m1); //加到mb
mb.add(m2);
mb.add(m3);
mb.add(m4);
mb.add(m5);
// mb.setHelpMenu(m5);

JMenuItem m101=new JMenuItem("新建(N)");
m101.setMnemonic('N');
m101.setAccelerator(KeyStroke.getKeyStroke('N',Event.CTRL_MASK,true));
JMenuItem m102=new JMenuItem("打开");
JMenuItem m103=new JMenuItem("保存");
JMenuItem m104=new JMenuItem("另存为");
JMenuItem m105=new JMenuItem("退出");

m1.add(m101); //加到m1上
m1.add(m102);
m1.add(m103);
m1.add(m104);
m1.addSeparator();
m1.add(m105);

JMenuItem m201=new JMenuItem("剪切");
JMenuItem m202=new JMenuItem("复制");
JMenuItem m203=new JMenuItem("粘贴");
JMenuItem m204=new JMenuItem("全选");
JMenuItem m205=new JMenuItem("查找");

m2.add(m201); //加到m2上
m2.add(m202);
m2.add(m203);
m2.addSeparator();
m2.add(m204);
m2.add(m205);

JMenuItem m301=new JMenuItem("字体");
JMenuItem m302=new JMenuItem("段落");

m3.add(m301); //加到m3上
m3.add(m302);

JMenuItem m401=new JMenuItem("状态栏");

m4.add(m401); //加到m4上

JMenuItem m501=new JMenuItem("帮助主题");
JMenuItem m502=new JMenuItem("关于记事本");

m5.add(m501);
m5.add(m502);
container.add(taJp,"Center");

m101.addActionListener(this);
m102.addActionListener(this);
m103.addActionListener(this);
m104.addActionListener(this);
m105.addActionListener(this);
m201.addActionListener(new CutL());
m202.addActionListener(new CopyL());
m203.addActionListener(new PasteL());
m204.addActionListener(this);
m205.addActionListener(this);
m301.addActionListener(this);
m302.addActionListener(this);
m401.addActionListener(this);
m501.addActionListener(this);
m502.addActionListener(this);

setSize(500,500);
setVisible(true);

}
public void actionPerformed(ActionEvent e)
{
String temp = e.getActionCommand();

if(temp=="新建")
{
newFile();


}
else if(temp=="打开")
{
try{
FileDialog ff = new FileDialog(null,"打开",FileDialog.LOAD);
ff.setVisible(true);
String FileNames =ff.getFile();
File d = new File(FileNames);
FileInputStream in = new FileInputStream(ff.getDirectory()+d);
// System.out.println(fd.getDirectory()+f);
// System.out.println(FileName);
int ch=0;
byte []buf;
String ee;
String qq;
while ((ch= in.read())!=-1)
{ buf = new byte[1024];
int cc = in.read(buf);
ee =new String (buf,0,cc);
qq = new String (ee.getBytes("iso8859-1"),"gb2312");
ta.append(qq);


}

in.close();
}
catch(Exception eq)
{
eq.printStackTrace();
}

}
else if(temp=="保存")
{

}
else if(temp=="另存为")
{
FileDialog fd = new FileDialog(null ,"另存为",FileDialog.SAVE);
fd.setVisible(true);
String FileName = fd.getFile();
try
{
File f = new File(FileName);
FileOutputStream out = new FileOutputStream(fd.getDirectory()+f);
// System.out.println(fd.getDirectory()+f);
// System.out.println(FileName);
byte[] ss = ta.getText().getBytes();

out.write(ss);

out.flush();
//System.out.write(ss);
out.close();

}
catch(Exception eq)
{
eq.printStackTrace();
}
}
else if(temp=="退出")
{
dispose();
System.exit(0);
}

else if(temp=="全选")
{
String all = ta.getText();
}
else if(temp=="查找")
{}
else if(temp=="字体")
{}
else if(temp=="段落")
{}
else if(temp=="状态栏")
{}
else if(temp=="帮助主题")
{
JTextArea txahelp = new JTextArea(5,20);
txahelp.append("你好我还没写这个文档");
JScrollPane scrollHelp = new JScrollPane(txahelp);

JOptionPane.showMessageDialog(null,scrollHelp);//这

}
else if(temp=="关于记事本")
{
JOptionPane.showMessageDialog(null,"记事本 V 1.0\n 代码编写者:song");//还有这
}

}

public int newFile()
{ int i =JOptionPane.NO_OPTION ;
if(ta.getText().equals(""))
{
ta.setVisible(false);
}
else
{
i= JOptionPane.showConfirmDialog(null,"文件内文字已改变。想保存文件吗?"
,"记事本",JOptionPane.INFORMATION_MESSAGE,JOptionPane.YES_NO_CANCEL_OPTION);//就是这
}
return i;

}
public void setSave(int i){
switch(i){
case JOptionPane.YES_OPTION: {
//这个地方不会写
break;
}
case JOptionPane.NO_OPTION:{
System.out.println("p wh ");
break;
}
case JOptionPane.CANCEL_OPTION:{
return;
}
}
}

class CopyL implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String selection = ta.getSelectedText();
if(selection == null)
{
return;
}
StringSelection clipString = new StringSelection(selection);

clipboard.setContents(clipString,clipString);
}

}

class CutL implements ActionListener
{

public void actionPerformed(ActionEvent e)
{
String selection =ta.getSelectedText();
if(selection ==null)
{
return;
}
StringSelection clipString = new StringSelection(selection);
clipboard.setContents(clipString,clipString);
ta.replaceRange("",ta.getSelectionStart(),ta.getSelectionEnd());
}
}

class PasteL implements ActionListener
{
public void actionPerformed(ActionEvent eo)
{
Transferable clipData = clipboard.getContents(JishiBen.this);

try
{

String clipString = (String)clipData.getTransferData(DataFlavor.stringFlavor);
ta.replaceRange(clipString,ta.getSelectionStart(),ta.getSelectionEnd());
}
catch(Exception ei)
{
System.out.println("Not Stirng flavor");
}
}

}
public static void main(String[] args) {
// TODO: Add your code here
JishiBen bb =new JishiBen();
}
}

上面我有一个问题就是那个文件对话框中的null处不知道 怎样写,上面还有几处null都是一类问题 如果要创建一个JFrame的话那就要从写了这样会很麻烦,有没有不用从写只要在上面改一下就行了,我是一个人在学jav a没法问其他人的
我只有求助版主和各位java爱好者主为我解决这个小问题了
谢谢快快回答呀?
这个问题我都想好长时间了


2005-12-20 10:55
快速回复:[求助]大虾们快快来看一下?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032063 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved