| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 781 人关注过本帖
标题:关于记事本的问题
只看楼主 加入收藏
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
结帖率:33.33%
收藏
 问题点数:0 回复次数:12 
关于记事本的问题

我做了个再简单不过的记事本的程序,工具栏里只有一个文件选项,点击文件只有退出一个选项,点击退出后窗口关闭,可我做了之后总是报错!郁闷中,大大帮帮忙怎么改啊!声明我是个真正的菜鸟,不含水的!不要笑我啊!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class JFrametest{
JTextArea jta = new JTextArea();
JScrollPane jsp = new JScrollPane(jta);
JPanel jp=new JPanel();
JMenuBar jmb=new JMenuBar();
JMenu jm=new JMenu("文件");
JMenuItem jmi =JMenuItem();
JToolBar jtb=new JToolBar();
JFrametest(){
class exitL implements ActionListener{
public static void actionPerformed(ActionEvent e){
System.exit(0);
}
jm.add(jmi = new JMenuItem("退出", KeyEvent.VK_X));
jmi.addActionListener(new exitL());
}
}
public static void main(String [] args){
JFrame jf=new JFrame();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(500,350);
jf.setVisible(true);
}
}

搜索更多相关主题的帖子: 记事本 public import 工具栏 
2006-08-22 23:37
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 

报什么错误你得说出来啊?


win32汇编
病毒 加密
目前兴趣所在
2006-08-22 23:54
ruihua
Rank: 1
等 级:新手上路
威 望:1
帖 子:235
专家分:0
注 册:2006-2-21
收藏
得分:0 

看看我这个词事本程序:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class NotePad extends JFrame
{
JMenuBar mainBar;
JMenu menuFile,menuEdit,menuFormat,menuView,menuHelp,menuOpen;
JMenuItem menuItemNew,menuItemSave,menuItemSaveAs,menuItemPageSetup,menuItemPrint,menuItemExit;//File MenuItem
JMenuItem menuItemUndo,menuItemCut,menuItemCopy,menuItemPaste,menuItemDelete,menuItemFind,menuItemFindNext; //Edit MenuItem
JMenuItem menuItemReplace,menuItemJump,menuItemSelectAll,menuItemDate;
JCheckBoxMenuItem menuItemLineWrap;
JMenuItem menuItemFont;//Format MenuItem
JMenuItem menuItemStateBar;//View MenuItem
JMenuItem menuItemHelpSubject,menuItemCopyright;//Help MenuItem
JMenuItem menuItemSwingDialog,menuItemAwtDialog;

JScrollPane scrpan;
JTextArea txtBox;

NotePad()
{
setTitle("NotePad");
Container c=this.getContentPane();

mainBar=new JMenuBar();
menuFile=new JMenu("File");
menuEdit=new JMenu("Edit");
menuFormat=new JMenu("Format");
menuView=new JMenu("View");
menuHelp=new JMenu("Help");

menuItemNew=new JMenuItem("New");
menuOpen=new JMenu("Open");
menuItemSave=new JMenuItem("Save");
menuItemSaveAs=new JMenuItem("Save As...");
menuItemPageSetup=new JMenuItem("PageSetup...");
menuItemPrint=new JMenuItem("Print...");
menuItemExit=new JMenuItem("Exit");

menuItemUndo=new JMenuItem("Undo");
menuItemCut=new JMenuItem("Cut");
menuItemCopy=new JMenuItem("Copy");
menuItemPaste=new JMenuItem("Paste");
menuItemDelete=new JMenuItem("Delete");
menuItemFind=new JMenuItem("Find...");
menuItemFindNext=new JMenuItem("Find Next");
menuItemReplace=new JMenuItem("Replace...");
menuItemJump=new JMenuItem("Jump...");
menuItemSelectAll=new JMenuItem("Select All");
menuItemDate=new JMenuItem("Date");

menuItemLineWrap=new JCheckBoxMenuItem("Line Wrap",false);
menuItemFont=new JMenuItem("Font");

menuItemStateBar=new JMenuItem("StateBar");

menuItemHelpSubject=new JMenuItem("Help Subject");
menuItemCopyright=new JMenuItem("Copyright");

menuItemAwtDialog=new JMenuItem("Awt Dialog");
menuItemSwingDialog=new JMenuItem("Swing Dialog");

//
txtBox=new JTextArea("",24,40);
txtBox.setLineWrap(false);

scrpan=new JScrollPane(txtBox);
//
menuOpen.add(menuItemSwingDialog);
menuOpen.add(menuItemAwtDialog);

menuFile.add(menuItemNew);
menuFile.add(menuOpen);
menuFile.add(menuItemSave);
menuFile.add(menuItemSaveAs);
menuFile.addSeparator();
menuFile.add(menuItemPageSetup);
menuFile.add(menuItemPrint);
menuFile.addSeparator();
menuFile.add(menuItemExit);
//
menuEdit.add(menuItemUndo);
menuEdit.addSeparator();
menuEdit.add(menuItemCut);
menuEdit.add(menuItemCopy);
menuEdit.add(menuItemPaste);
menuEdit.add(menuItemDelete);
menuEdit.addSeparator();
menuEdit.add(menuItemFind);
menuEdit.add(menuItemFindNext);
menuEdit.add(menuItemReplace);
menuEdit.add(menuItemJump);
menuEdit.addSeparator();
menuEdit.add(menuItemSelectAll);
menuEdit.add(menuItemDate);
//
menuFormat.add(menuItemLineWrap);
menuFormat.add(menuItemFont);
//
menuView.add(menuItemStateBar);
//
menuHelp.add(menuItemHelpSubject);
menuHelp.addSeparator();
menuHelp.add(menuItemCopyright);
//
mainBar.add(menuFile);
mainBar.add(menuEdit);
mainBar.add(menuFormat);
mainBar.add(menuView);
mainBar.add(menuHelp);

this.setJMenuBar(mainBar);
c.add(scrpan);
setSize(400,300);
// add LineWrap ActionListener
menuItemLineWrap.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
boolean state=menuItemLineWrap.getState();
txtBox.setLineWrap(state);
}
});
//add menuItemNew ActionListener
menuItemNew.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
txtBox.setText("");
}
});
//add menuItemSwingDialog、menuItemSwtDialog ActionListener

menuItemAwtDialog.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
FileDialog openDia=new FileDialog(NotePad.this,"File Dialog");
openDia.setVisible(true);
}
});

menuItemSwingDialog.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
JFileChooser openDia=new JFileChooser();
openDia.showDialog(NotePad.this,"File Dialog");
}
});

// add menuItemExit ActionListener
menuItemExit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
}
}
class mainApp
{
public static void main(String[] args)
{
NotePad frm=new NotePad();
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.show();
}
}


2006-08-23 10:58
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 

感谢楼上提供的代码 上次在论坛里找的代码太乱了 又没有注释 看不明白,太感谢了,这个我终于能看懂了!!

[此贴子已经被作者于2006-8-23 12:50:37编辑过]


2006-08-23 12:47
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 
这次我做的代码是通过了编译可是有出现了个问题,代码如下:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class Notebook extends JFrame{
JMenuBar jmb;
JMenu jmfile;
JMenuItem jmi;
JScrollPane jsp;
JTextArea jta;
Notebook(){
setTitle("Notebool");
Container c=this.getContentPane();
jmb=new JMenuBar();
jmfile=new JMenu("File");
jmi=new JMenuItem("Exit");
jta=new JTextArea("",24,40);
jta.setLineWrap(false);
jmfile.add(jmi);
jmb.add(jmfile);
this.setJMenuBar(jmb);
c.add(jsp);
setSize(400,300);
jmi.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
}
}
class mainApp
{
public void main(String[] args)
{
Notebook frm=new Notebook();
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.show();
}
}
错误如下:
Exception in thread "main" java.lang.NoSuchMethodError: main

怎么回事啊?我可是根据3楼的ruihua的代码改的啊!怎么改啊???

[此贴子已经被作者于2006-8-23 13:49:19编辑过]


2006-08-23 13:25
sunnyxue
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2004-12-13
收藏
得分:0 
main()方法要声明为static的,不要然函数找不到入口。。。

2006-08-23 15:14
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 

加了之后显示是空指针异常啊!


2006-08-23 21:28
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 
首先,main函数必须放在public的类里面
其次,你的JScrollPane没有进行实例化就添加到窗口里了,所以报空指针,改完就可以了

向着软件工程师的目标前进!
2006-08-23 22:46
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 

水平有限能不能具体点啊!!


2006-08-24 00:08
lgdcky
Rank: 2
等 级:论坛游民
威 望:5
帖 子:576
专家分:18
注 册:2006-8-5
收藏
得分:0 

问题解决 谢谢了!不过我问一下为什么3楼的程序就好执行呢?他的main函数没有static也不在公有类里,为什么就没有出现象我这样的问题呢?还有就是为什么在加入了TestArea可为什么运行时我放TestArea的地方无法输入任何文字呢???

[此贴子已经被作者于2006-8-24 0:27:23编辑过]


2006-08-24 00:19
快速回复:关于记事本的问题
数据加载中...
 
   



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

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