1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java 另存为对话框_在java中创建一个保存/另存为对话框 保存新创建的文件或编辑的文件...

java 另存为对话框_在java中创建一个保存/另存为对话框 保存新创建的文件或编辑的文件...

时间:2020-10-08 01:50:50

相关推荐

java 另存为对话框_在java中创建一个保存/另存为对话框 保存新创建的文件或编辑的文件...

Java初学者:请帮忙解决这个问题,我的脑子已经死了。 我创建了一个java程序(在eclipse中)有3个菜单:FILE,EDIT,HELP 一旦文件被点击就显示4menuBar:'新建,打开,保存,另存为&退出。在java中创建一个保存/另存为对话框,保存新创建的文件或编辑的文件

在帮助菜单中有一个menuBar,上面写着“关于javaEdit”除了保存,另存为和“关于javaEdit”之外,我所有的菜单栏都可以工作我需要一些代码或者一个清晰的步骤说明,保存并保存为正常工作。

保存应该保存新创建的文件或编辑文件&终于我可以喜欢“关于JavaEdit显示一条消息,如‘谢谢你,这是Java的’一次点击。我也喜欢像

private void doSave(){code here}

private void doSaveAs(){

,因为我有那些项目中的if else if语句。

如何创建一个保存/另存为在Java牛逼对话框保存新创建的文件或编辑的文件?

下面是我的全部代码:

import java.awt.*;

import java.awt.event

import java.io.*;

public class JavaEdit extends Frame implements ActionListener {

String clipBoard;

String fileName;

TextArea text;

MenuItem newMI, openMI, saveMI, saveAsMI, exitMI;

MenuItem selectAllMI, cutMI, copyMI, deleteMI, pasteMI;

MenuItem aboutJavaEditMI;

/**

* Constructor

*/

public JavaEdit() {

super("JavaEdit"); // set frame title

setLayout(new BorderLayout()); // set layout

// create menu bar

MenuBar menubar = new MenuBar();

setMenuBar(menubar);

// create file menu

Menu fileMenu = new Menu("File");

menubar.add(fileMenu);

newMI = fileMenu.add(new MenuItem("New"));

newMI.addActionListener(this);

openMI = fileMenu.add(new MenuItem("Open"));

openMI.addActionListener(this);

fileMenu.addSeparator();

saveMI = fileMenu.add(new MenuItem("Save"));

saveAsMI = fileMenu.add(new MenuItem("Save As ..."));

fileMenu.addSeparator();

exitMI = fileMenu.add(new MenuItem("Exit"));

exitMI.addActionListener(this);

// create edit menu

Menu editMenu = new Menu("Edit");

menubar.add(editMenu);

selectAllMI = editMenu.add(new MenuItem("Select all"));

selectAllMI.addActionListener(this);

cutMI = editMenu.add(new MenuItem("Cut"));

cutMI.addActionListener(this);

copyMI = editMenu.add(new MenuItem("Copy"));

copyMI.addActionListener(this);

pasteMI = editMenu.add(new MenuItem("Paste"));

pasteMI.addActionListener(this);

deleteMI = editMenu.add(new MenuItem("Delete"));

deleteMI.addActionListener(this);

// create help menu

Menu helpMenu = new Menu("Help");

menubar.add(helpMenu);

aboutJavaEditMI = helpMenu.add(new MenuItem("About JavaEdit"));

aboutJavaEditMI.addActionListener(this);

// create text editing area

text = new TextArea();

add(text, BorderLayout.CENTER);

}

// implementing ActionListener

public void actionPerformed(ActionEvent event) {

Object source = event.getSource();

if(source == newMI) {

clearText();

fileName = null;

setTitle("JavaEdit"); // reset frame title

}

else if(source == openMI) {

doOpen();

}

else if(source == saveMI) {

doSave();

}

else if(source == saveAsMI){

doSaveAs();

}

else if(source == exitMI) {

System.exit(0);

}

else if(source == cutMI) {

doCopy();

doDelete();

}

else if(source == copyMI) {

doCopy();

}

else if(source == pasteMI) {

doPaste();

}

else if(source == deleteMI) {

doDelete();

}

}

/**

* method to specify and open a file

*/

private void doOpen() {

// display file selection dialog

FileDialog fDialog = new FileDialog(this, "Open ...", FileDialog.LOAD);

fDialog.setVisible(true);

// Get the file name chosen by the user

String name = fDialog.getFile();

// If user canceled file selection, return without doing anything.

if(name == null)

return;

fileName = fDialog.getDirectory() + name;

// Try to create a file reader from the chosen file.

FileReader reader=null;

try {

reader = new FileReader(fileName);

} catch (FileNotFoundException ex) {

MessageDialog dialog = new MessageDialog(this, "Error Message",

"File Not Found: "+fileName);

dialog.setVisible(true);

return;

}

BufferedReader bReader = new BufferedReader(reader);

// Try to read from the file one line at a time.

StringBuffer textBuffer = new StringBuffer();

try {

String textLine = bReader.readLine();

while (textLine != null) {

textBuffer.append(textLine + '\n');

textLine = bReader.readLine();

}

bReader.close();

reader.close();

} catch (IOException ioe) {

MessageDialog dialog = new MessageDialog(this, "Error Message",

"Error reading file: "+ioe.toString());

dialog.setVisible(true);

return;

}

setTitle("JavaEdit: " +name); // reset frame title

text.setText(textBuffer.toString());

}

/**

* method to clear text editing area

*/

private void clearText() {

text.setText("");

}

/**

* method to copy selected text to the clipBoard

*/

private void doCopy() {

clipBoard = new String(text.getSelectedText());

}

/**

* method to delete selected text

*/

private void doDelete() {

text.replaceRange("", text.getSelectionStart(), text.getSelectionEnd());

}

/**

* method to replace current selection with the contents of the clipBoard

*/

private void doPaste() {

if(clipBoard != null) {

text.replaceRange(clipBoard, text.getSelectionStart(),

text.getSelectionEnd());

}

}

/**

* class for message dialog

*/

class MessageDialog extends Dialog implements ActionListener {

private Label message;

private Button okButton;

// Constructor

public MessageDialog(Frame parent, String title, String messageString) {

super(parent, title, true);

setSize(400, 100);

setLocation(150, 150);

setLayout(new BorderLayout());

message = new Label(messageString, Label.CENTER);

add(message, BorderLayout.CENTER);

Panel panel = new Panel(new FlowLayout(FlowLayout.CENTER));

add(panel, BorderLayout.SOUTH);

okButton = new Button(" OK ");

okButton.addActionListener(this);

panel.add(okButton);

}

// implementing ActionListener

public void actionPerformed(ActionEvent event) {

setVisible(false);

dispose();

}

}

/**

* the main method

*/

public static void main(String[] argv) {

// create frame

JavaEdit frame = new JavaEdit();

Dimension size = Toolkit.getDefaultToolkit().getScreenSize();

frame.setSize(size.width-80, size.height-80);

frame.setLocation(20, 20);

// add window closing listener

frame.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

// show the frame

frame.setVisible(true);

}

}

+1

这段代码为什么是AWT?为什么AWT有'FileDialog'时添加JFileChooser标签? –

-04-11 04:08:15

+0

另外,考虑重构使用['Action'](/javase/tutorial/uiswing/misc/action.html)。 –

-04-11 05:43:28

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。