📄 texteditor.java
字号:
mDel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{ jTextArea.cut(); }//////该用什么方法?????????
});//删除
mSelect.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{ jTextArea.select(0,1000000); }//这个参数如何设才合理?????
}); //全选
//弹出式菜单中全部清除菜单项监听器
jMenuFileClear1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{ jTextArea.setText(""); }
});
//弹出式菜单中的剪切菜单项监听器
jMenuFileCut1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{ jTextArea.cut(); }
});
//弹出式菜单中的复制菜单项监听器
jMenuFileCopy1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{ jTextArea.copy(); }
});
//弹出式菜单中的粘贴菜单项监听器
jMenuFilePaste1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{ jTextArea.paste(); }
});
//弹出式菜单中的删除菜单项监听器
jMenuFileDel1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{ jTextArea.cut(); }
});
//弹出式菜单中的粘贴菜单项监听器
jMenuFileSelect1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{ jTextArea.select(0, buffer.length-1); }
});
//实现弹出式菜单的弹出
jTextArea.addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent event){
if (event.isPopupTrigger())//少了可不行啊
pm.show(jTextArea,event.getX(), event.getY());
}
});
///////////格式菜单事件监听器
//字体菜单项
mFont.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
FontFrame F=new FontFrame();
F.show();
//F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);删去!!!!!!!
}
});
//字体颜色菜单项
jColor.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Color color = JColorChooser.showDialog(MyGui.this, "选择字体颜色", null);
jTextArea.setForeground(color) ;
}
} );
jMenuHuanHang.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
jTextArea.setLineWrap(true);
}
});
/////帮助菜单项,点击弹出对话框(原为弹出JFrame)
jMenuHelpAbout.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
// HelpFrame H=new HelpFrame(); H.show();
//H.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);删去!!!!!
JOptionPane.showMessageDialog(MyGui.this,
" 此记事本程序为:\n 05-06学年JAVA技术课程设计作业"+
"\n 电子商务03-2班 20035136 王中兴\n ++++ All Rights Reserved ++++ ",
" 重要提示",JOptionPane.INFORMATION_MESSAGE);
//父组件,消息,标题,图标
}
});
}//method MyGui
// class SaveListener 内部类____事件处理
class SaveListener implements ActionListener{
public void actionPerformed(ActionEvent e){
filechooser.setSelectedFile(new File("*.txt"));//设置默认的保存文件名*.txt
int returnVal=filechooser.showSaveDialog(MyGui.this);
if(returnVal==JFileChooser.APPROVE_OPTION){
file=filechooser.getSelectedFile();
//保存文件
try{FileWriter fw=new FileWriter(file);
fw.write(jTextArea.getText());
fw.close();
}catch(IOException ep){ep.getMessage();}
}//if
}
} //class SaveListener 内部类____事件处理
class FontFrame extends JFrame{
JList fontList,stylesList,sizesList;
JTextField tf1;
JTextField tf2;
JTextField tf3;
JLabel fontName,styleName,sizeName;
String Names ,Styles, Sizes;
public FontFrame(){
setSize(460,300);
setTitle("选择字体");
Container cp1 = getContentPane();
cp1.setLayout(new BorderLayout());
fontName=new JLabel("字体"); tf1=new JTextField("宋体",7);
styleName=new JLabel("风格");tf2=new JTextField("常规",4);
sizeName=new JLabel("大小"); tf3=new JTextField("11",3);
JPanel namePanel=new JPanel();
namePanel.add(fontName); namePanel.add(tf1);
namePanel.add(styleName); namePanel.add(tf2);
namePanel.add(sizeName); namePanel.add(tf3);
///字体标签 和字体列表添加到面板
JPanel fontListPanel=new JPanel();
//用以下方法当前系统平台字体
String names[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
fontList= new JList(names);
JScrollPane listScrollPane11 = new JScrollPane(fontList);//字体列表
fontListPanel.add(new JLabel("字体"));
fontListPanel.add(listScrollPane11);
//把风格标签和风格列表加到字体面板
JPanel styleListPanel=new JPanel();
String[] styles={"常规","斜体","粗体","斜粗体"};
stylesList = new JList(styles);
JScrollPane listScrollPane2 = new JScrollPane(stylesList);
styleListPanel.add(new JLabel("风格"));
styleListPanel.add(listScrollPane2);
///大小标签和大小列表添加到面板
JPanel sizeListPanel=new JPanel();
String[] sizes={"11","12","13","14","15","16","17","18","19","20","25","30","35","40","45"} ;
//int sizes[]={7,8,9,10,11,12,13,14,15,17,19,21,31,41,51};
sizesList = new JList(sizes);//参数不可以是整型!!!!!
JScrollPane listScrollPane3 = new JScrollPane(sizesList);
sizeListPanel.add(new JLabel("大小"));
sizeListPanel.add(listScrollPane3);
//把按钮添加到面板
JPanel buttonPanel=new JPanel();
JButton button1=new JButton("确定");
JButton button2=new JButton("取消");
buttonPanel.add(button1);
buttonPanel.add(button2);
JPanel bodyPanel=new JPanel();
bodyPanel.add(fontListPanel);
bodyPanel.add(styleListPanel);
bodyPanel.add(sizeListPanel);
cp1.add(namePanel,"North");
cp1.add(bodyPanel,"Center");
cp1.add(buttonPanel,"South");
//点击字体列表项的事件
fontList.addListSelectionListener( new ListSelectionListener(){//要引入新的包
public void valueChanged(ListSelectionEvent event){
//获取字体列表
Object[] selectedNames = fontList.getSelectedValues();//Returns an array of the values for the selected cells.
// The returned values are sorted in increasing index order.
for (int i = 0; i < selectedNames.length; i++)
{ //System.out.println(selectedNames[i]);
Names=(String)selectedNames[0];
}
tf1.setText(Names);
}
});
stylesList.addListSelectionListener( new ListSelectionListener(){
public void valueChanged(ListSelectionEvent event){
//获取字形列表
Object[] selectedStyles = stylesList.getSelectedValues();
for (int i = 0; i < selectedStyles.length; i++){
Styles=(String)selectedStyles[0];
}
tf2.setText(Styles);
}
});
sizesList.addListSelectionListener( new ListSelectionListener(){
public void valueChanged(ListSelectionEvent event){
//获取字体大小列表
Object[] selectedSizes = sizesList.getSelectedValues();
for (int i = 0; i < selectedSizes.length; i++){
Sizes=(String)selectedSizes[0];
}
tf3.setText(Sizes);
}
});
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int fontInt=0;
Styles=tf2.getText();
if(Styles=="常规"){
fontInt=Font.PLAIN;
}
else if(Styles=="斜体"){ //问题!!!
fontInt=Font.ITALIC;
}
else if(Styles=="粗体"){
fontInt=Font.BOLD;
}
else if(Styles=="斜粗体"){
fontInt=Font.ITALIC+Font.BOLD;
}
int sizesInt=Integer.parseInt(tf3.getText());//这个方法 The characters in the string must all be decimal digits
Font f=new Font(tf1.getText(),fontInt,sizesInt);
jTextArea.setFont(f);
setVisible(false);
}
} );
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{ setVisible(false);}
} );
}
}// class FontFrame
}//class MyGui
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -