當前位置:編程學習大全網 - 源碼下載 - 求JAVA源代碼!!緊急~~~

求JAVA源代碼!!緊急~~~

只能給妳第壹個:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class JNotePadUI extends JFrame {

private JMenuItem menuOpen;

private JMenuItem menuSave;

private JMenuItem menuSaveAs;

private JMenuItem menuClose;

private JMenu editMenu;

private JMenuItem menuCut;

private JMenuItem menuCopy;

private JMenuItem menuPaste;

private JMenuItem menuAbout;

private JTextArea textArea;

private JLabel stateBar;

private JFileChooser fileChooser;

private JPopupMenu popUpMenu;

public JNotePadUI() {

super("新建文本文件");

setUpUIComponent();

setUpEventListener();

setVisible(true);

}

private void setUpUIComponent() {

setSize(640, 480);

// 菜單欄

JMenuBar menuBar = new JMenuBar();

// 設置「文件」菜單

JMenu fileMenu = new JMenu("文件");

menuOpen = new JMenuItem("打開");

// 快捷鍵設置

menuOpen.setAccelerator(

KeyStroke.getKeyStroke(

KeyEvent.VK_O,

InputEvent.CTRL_MASK));

menuSave = new JMenuItem("保存");

menuSave.setAccelerator(

KeyStroke.getKeyStroke(

KeyEvent.VK_S,

InputEvent.CTRL_MASK));

menuSaveAs = new JMenuItem("另存為");

menuClose = new JMenuItem("關閉");

menuClose.setAccelerator(

KeyStroke.getKeyStroke(

KeyEvent.VK_Q,

InputEvent.CTRL_MASK));

fileMenu.add(menuOpen);

fileMenu.addSeparator(); // 分隔線

fileMenu.add(menuSave);

fileMenu.add(menuSaveAs);

fileMenu.addSeparator(); // 分隔線

fileMenu.add(menuClose);

// 設置「編輯」菜單

JMenu editMenu = new JMenu("編輯");

menuCut = new JMenuItem("剪切");

menuCut.setAccelerator(

KeyStroke.getKeyStroke(KeyEvent.VK_X,

InputEvent.CTRL_MASK));

menuCopy = new JMenuItem("復制");

menuCopy.setAccelerator(

KeyStroke.getKeyStroke(KeyEvent.VK_C,

InputEvent.CTRL_MASK));

menuPaste = new JMenuItem("粘貼");

menuPaste.setAccelerator(

KeyStroke.getKeyStroke(KeyEvent.VK_V,

InputEvent.CTRL_MASK));

editMenu.add(menuCut);

editMenu.add(menuCopy);

editMenu.add(menuPaste);

// 設置「關於」菜單

JMenu aboutMenu = new JMenu("關於");

menuAbout = new JMenuItem("關於JNotePad");

aboutMenu.add(menuAbout);

menuBar.add(fileMenu);

menuBar.add(editMenu);

menuBar.add(aboutMenu);

setJMenuBar(menuBar);

// 文字編輯區域

textArea = new JTextArea();

textArea.setFont(new Font("宋體", Font.PLAIN, 16));

textArea.setLineWrap(true);

JScrollPane panel = new JScrollPane(textArea,

ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,

ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

Container contentPane = getContentPane();

contentPane.add(panel, BorderLayout.CENTER);

// 狀態欄

stateBar = new JLabel("未修改");

stateBar.setHorizontalAlignment(SwingConstants.LEFT);

stateBar.setBorder(

BorderFactory.createEtchedBorder());

contentPane.add(stateBar, BorderLayout.SOUTH);

popUpMenu = editMenu.getPopupMenu();

fileChooser = new JFileChooser();

}

private void setUpEventListener() {

// 按下窗口關閉鈕事件處理

addWindowListener(

new WindowAdapter() {

public void windowClosing(WindowEvent e) {

closeFile();

}

}

);

// 菜單 - 打開

menuOpen.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

openFile();

}

}

);

// 菜單 - 保存

menuSave.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

saveFile();

}

}

);

// 菜單 - 另存為

menuSaveAs.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

saveFileAs();

}

}

);

// 菜單 - 關閉文件

menuClose.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

closeFile();

}

}

);

// 菜單 - 剪切

menuCut.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

cut();

}

}

);

// 菜單 - 復制

menuCopy.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

copy();

}

}

);

// 菜單 - 粘貼

menuPaste.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

paste();

}

}

);

// 菜單 - 關於

menuAbout.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

// 顯示對話框

JOptionPane.showOptionDialog(null,

"程序名稱:\n JNotePad \n" +

"程序設計:\n \n" +

"簡介:\n 壹個簡單的文字編輯器\n",

"關於JNotePad",

JOptionPane.DEFAULT_OPTION,

JOptionPane.INFORMATION_MESSAGE,

null, null, null);

}

}

);

// 編輯區鍵盤事件

textArea.addKeyListener(

new KeyAdapter() {

public void keyTyped(KeyEvent e) {

processTextArea();

}

}

);

// 編輯區鼠標事件

textArea.addMouseListener(

new MouseAdapter() {

public void mouseReleased(MouseEvent e) {

if(e.getButton() == MouseEvent.BUTTON3)

popUpMenu.show(editMenu, e.getX(), e.getY());

}

public void mouseClicked(MouseEvent e) {

if(e.getButton() == MouseEvent.BUTTON1)

popUpMenu.setVisible(false);

}

}

);

}

private void openFile() {

if(isCurrentFileSaved()) { // 文件是否為保存狀態

open(); // 打開

}

else {

// 顯示對話框

int option = JOptionPane.showConfirmDialog(

null, "文件已修改,是否保存?",

"保存文件?", JOptionPane.YES_NO_OPTION,

JOptionPane.WARNING_MESSAGE, null);

switch(option) {

// 確認文件保存

case JOptionPane.YES_OPTION:

saveFile(); // 保存文件

break;

// 放棄文件保存

case JOptionPane.NO_OPTION:

open();

break;

}

}

}

private boolean isCurrentFileSaved() {

if(stateBar.getText().equals("未修改")) {

return true;

}

else {

return false;

}

}

private void open() {

// fileChooser 是 JFileChooser 的實例

// 顯示文件選取的對話框

int option = fileChooser.showDialog(null, null);

// 使用者按下確認鍵

if(option == JFileChooser.APPROVE_OPTION) {

/*

TODO: 添加讀取文件的代碼

*/

}

}

private void saveFile() {

/*

TODO: 添加保存文件的代碼

*/

}

private void saveFileAs() {

/*

TODO: 添加另存為的代碼

*/

}

private void closeFile() {

// 是否已保存文件

if(isCurrentFileSaved()) {

// 釋放窗口資源,而後關閉程序

dispose();

}

else {

int option = JOptionPane.showConfirmDialog(

null, "文件已修改,是否保存?",

"保存文件?", JOptionPane.YES_NO_OPTION,

JOptionPane.WARNING_MESSAGE, null);

switch(option) {

case JOptionPane.YES_OPTION:

saveFile();

break;

case JOptionPane.NO_OPTION:

dispose();

}

}

}

private void cut() {

textArea.cut();

stateBar.setText("已修改");

popUpMenu.setVisible(false);

}

private void copy() {

textArea.copy();

popUpMenu.setVisible(false);

}

private void paste() {

textArea.paste();

stateBar.setText("已修改");

popUpMenu.setVisible(false);

}

private void processTextArea() {

stateBar.setText("已修改");

}

public static void main(String[] args) {

new JNotePadUI();

}

}

  • 上一篇:下載源碼建站的安全問題
  • 下一篇:有關塔羅牌的幾個問題!~~請教高手~~
  • copyright 2024編程學習大全網