我正用swing写一个记事本小程序,代码如下,发现显示不了JTextArea文本域,请高手指出错误之处。
package sw;import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextArea;public class NoteBook2 extends JFrame { /**
*
*/
JPanel cotentpane = null;
JMenuBar bar ;
JTextArea area ;
JMenuItem mi11, mi12, mi13, mi14, mi15, mi16, mi17, mi21, mi22, mi23, mi24,
mi25, mi26, mi27, mi28, mi29, mi210, mi211, mi32, mi41, mi51,
mi52 ;
JCheckBox mi31 ;
JMenu menu1, menu2, menu3, menu4, menu5 ; JTextArea getTextArea() {
if (area == null) {
area = new JTextArea();
}
return area;
} JPanel getCotentPane() {
if (cotentpane == null) {
cotentpane = new JPanel(new BorderLayout());
cotentpane.add(getTextArea(), BorderLayout.CENTER);
}
return cotentpane;
} JMenuBar getBar() {
if (bar == null) {
mi11 = new JMenuItem("新建");
mi12 = new JMenuItem("打开");
mi13 = new JMenuItem("保存");
mi14 = new JMenuItem("另存为");
mi15 = new JMenuItem("页面设置");
mi16 = new JMenuItem("打印");
mi17 = new JMenuItem("退出");
mi17.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
int flag = JOptionPane.showConfirmDialog(null,"你确定要退出吗?","警告",JOptionPane.YES_NO_OPTION);
if (flag == JOptionPane.YES_OPTION) System.exit(0);
}
}
); mi21 = new JMenuItem("撤销");
mi22 = new JMenuItem("剪切");
mi23 = new JMenuItem("复制");
mi24 = new JMenuItem("粘贴");
mi25 = new JMenuItem("删除");
mi26 = new JMenuItem("查找");
mi27 = new JMenuItem("查找下一个");
mi28 = new JMenuItem("替换");
mi29 = new JMenuItem("转到");
mi210 = new JMenuItem("全选");
mi211 = new JMenuItem("时间/日期"); mi31 = new JCheckBox("自动换行");
mi32 = new JMenuItem("字体"); mi41 = new JMenuItem("状态栏"); mi51 = new JMenuItem("查看帮助");
mi52 = new JMenuItem("关于记事本"); menu1 = new JMenu("文件");
menu2 = new JMenu("编辑");
menu3 = new JMenu("格式");
menu4 = new JMenu("查看");
menu5 = new JMenu("帮助"); menu1.add(mi11);
menu1.add(mi12);
menu1.add(mi13);
menu1.add(mi14);
menu1.add(new JSeparator());
menu1.add(mi15);
menu1.add(mi16);
menu1.add(new JSeparator());
menu1.add(mi17); menu2.add(mi21);
menu2.add(new JSeparator());
menu2.add(mi22);
menu2.add(mi23);
menu2.add(mi24);
menu2.add(mi25);
menu2.add(new JSeparator());
menu2.add(mi26);
menu2.add(mi27);
menu2.add(mi28);
menu2.add(mi29);
menu2.add(new JSeparator());
menu2.add(mi210);
menu2.add(mi211); menu3.add(mi31);
menu3.add(mi32); menu4.add(mi41); menu5.add(mi51);
menu5.add(new JSeparator());
menu5.add(mi52); bar = new JMenuBar();
bar.add(menu1);
bar.add(menu2);
bar.add(menu3);
bar.add(menu4);
bar.add(menu5); }
return bar;
} NoteBook2() {
super();
initialized();
} void initialized() {
this.setSize(800, 600);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setTitle("记事本");
this.setContentPane(getContentPane());
this.setJMenuBar(getBar());
} public static void main(String[] args) {
NoteBook2 nb = new NoteBook2();
nb.setVisible(true);
}}
package sw;import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextArea;public class NoteBook2 extends JFrame { /**
*
*/
JPanel cotentpane = null;
JMenuBar bar ;
JTextArea area ;
JMenuItem mi11, mi12, mi13, mi14, mi15, mi16, mi17, mi21, mi22, mi23, mi24,
mi25, mi26, mi27, mi28, mi29, mi210, mi211, mi32, mi41, mi51,
mi52 ;
JCheckBox mi31 ;
JMenu menu1, menu2, menu3, menu4, menu5 ; JTextArea getTextArea() {
if (area == null) {
area = new JTextArea();
}
return area;
} JPanel getCotentPane() {
if (cotentpane == null) {
cotentpane = new JPanel(new BorderLayout());
cotentpane.add(getTextArea(), BorderLayout.CENTER);
}
return cotentpane;
} JMenuBar getBar() {
if (bar == null) {
mi11 = new JMenuItem("新建");
mi12 = new JMenuItem("打开");
mi13 = new JMenuItem("保存");
mi14 = new JMenuItem("另存为");
mi15 = new JMenuItem("页面设置");
mi16 = new JMenuItem("打印");
mi17 = new JMenuItem("退出");
mi17.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
int flag = JOptionPane.showConfirmDialog(null,"你确定要退出吗?","警告",JOptionPane.YES_NO_OPTION);
if (flag == JOptionPane.YES_OPTION) System.exit(0);
}
}
); mi21 = new JMenuItem("撤销");
mi22 = new JMenuItem("剪切");
mi23 = new JMenuItem("复制");
mi24 = new JMenuItem("粘贴");
mi25 = new JMenuItem("删除");
mi26 = new JMenuItem("查找");
mi27 = new JMenuItem("查找下一个");
mi28 = new JMenuItem("替换");
mi29 = new JMenuItem("转到");
mi210 = new JMenuItem("全选");
mi211 = new JMenuItem("时间/日期"); mi31 = new JCheckBox("自动换行");
mi32 = new JMenuItem("字体"); mi41 = new JMenuItem("状态栏"); mi51 = new JMenuItem("查看帮助");
mi52 = new JMenuItem("关于记事本"); menu1 = new JMenu("文件");
menu2 = new JMenu("编辑");
menu3 = new JMenu("格式");
menu4 = new JMenu("查看");
menu5 = new JMenu("帮助"); menu1.add(mi11);
menu1.add(mi12);
menu1.add(mi13);
menu1.add(mi14);
menu1.add(new JSeparator());
menu1.add(mi15);
menu1.add(mi16);
menu1.add(new JSeparator());
menu1.add(mi17); menu2.add(mi21);
menu2.add(new JSeparator());
menu2.add(mi22);
menu2.add(mi23);
menu2.add(mi24);
menu2.add(mi25);
menu2.add(new JSeparator());
menu2.add(mi26);
menu2.add(mi27);
menu2.add(mi28);
menu2.add(mi29);
menu2.add(new JSeparator());
menu2.add(mi210);
menu2.add(mi211); menu3.add(mi31);
menu3.add(mi32); menu4.add(mi41); menu5.add(mi51);
menu5.add(new JSeparator());
menu5.add(mi52); bar = new JMenuBar();
bar.add(menu1);
bar.add(menu2);
bar.add(menu3);
bar.add(menu4);
bar.add(menu5); }
return bar;
} NoteBook2() {
super();
initialized();
} void initialized() {
this.setSize(800, 600);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setTitle("记事本");
this.setContentPane(getContentPane());
this.setJMenuBar(getBar());
} public static void main(String[] args) {
NoteBook2 nb = new NoteBook2();
nb.setVisible(true);
}}
this.setContentPane(getCotentPane());
public static void main(String[] args) {
NoteBook2 nb = new NoteBook2();
nb.setVisible(true);
nb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTextArea;public class NoteBook2 extends JFrame { /**
*
*/
JPanel cotentpane = null;
JMenuBar bar ;
JTextArea area ;
JMenuItem mi11, mi12, mi13, mi14, mi15, mi16, mi17, mi21, mi22, mi23, mi24,
mi25, mi26, mi27, mi28, mi29, mi210, mi211, mi32, mi41, mi51,
mi52 ;
JCheckBox mi31 ;
JMenu menu1, menu2, menu3, menu4, menu5 ; JTextArea getTextArea() {
if (area == null) {
area = new JTextArea();
}
return area;
} JPanel getCotentPane2() { // 换掉, 重载不是这样的。
if (cotentpane == null) {
cotentpane = new JPanel(new BorderLayout());
cotentpane.add(getTextArea(), BorderLayout.CENTER);
}
return cotentpane;
} JMenuBar getBar() {
if (bar == null) {
mi11 = new JMenuItem("新建");
mi12 = new JMenuItem("打开");
mi13 = new JMenuItem("保存");
mi14 = new JMenuItem("另存为");
mi15 = new JMenuItem("页面设置");
mi16 = new JMenuItem("打印");
mi17 = new JMenuItem("退出");
mi17.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
int flag = JOptionPane.showConfirmDialog(null,"你确定要退出吗?","警告",JOptionPane.YES_NO_OPTION);
if (flag == JOptionPane.YES_OPTION) System.exit(0);
}
}
); mi21 = new JMenuItem("撤销");
mi22 = new JMenuItem("剪切");
mi23 = new JMenuItem("复制");
mi24 = new JMenuItem("粘贴");
mi25 = new JMenuItem("删除");
mi26 = new JMenuItem("查找");
mi27 = new JMenuItem("查找下一个");
mi28 = new JMenuItem("替换");
mi29 = new JMenuItem("转到");
mi210 = new JMenuItem("全选");
mi211 = new JMenuItem("时间/日期"); mi31 = new JCheckBox("自动换行");
mi32 = new JMenuItem("字体"); mi41 = new JMenuItem("状态栏"); mi51 = new JMenuItem("查看帮助");
mi52 = new JMenuItem("关于记事本"); menu1 = new JMenu("文件");
menu2 = new JMenu("编辑");
menu3 = new JMenu("格式");
menu4 = new JMenu("查看");
menu5 = new JMenu("帮助"); menu1.add(mi11);
menu1.add(mi12);
menu1.add(mi13);
menu1.add(mi14);
menu1.add(new JSeparator());
menu1.add(mi15);
menu1.add(mi16);
menu1.add(new JSeparator());
menu1.add(mi17); menu2.add(mi21);
menu2.add(new JSeparator());
menu2.add(mi22);
menu2.add(mi23);
menu2.add(mi24);
menu2.add(mi25);
menu2.add(new JSeparator());
menu2.add(mi26);
menu2.add(mi27);
menu2.add(mi28);
menu2.add(mi29);
menu2.add(new JSeparator());
menu2.add(mi210);
menu2.add(mi211); menu3.add(mi31);
menu3.add(mi32); menu4.add(mi41); menu5.add(mi51);
menu5.add(new JSeparator());
menu5.add(mi52); bar = new JMenuBar();
bar.add(menu1);
bar.add(menu2);
bar.add(menu3);
bar.add(menu4);
bar.add(menu5); }
return bar;
} NoteBook2() {
super();
initialized();
} void initialized() {
this.setSize(800, 600);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setTitle("记事本");
this.setContentPane(getContentPane());
this.setJMenuBar(getBar());
this.getContentPane().add(this.getCotentPane2()); // 添加
} public static void main(String[] args) {
NoteBook2 nb = new NoteBook2();
nb.setVisible(true);
}}
this.setContentPane(getContentPane());
这两个方法是java类里面的,等于说什么都没干.类似于:
user.setName(user.getName());