如何像Windows的记事本一样,点击【字体】按钮后,弹出一个JDialog,然后在里面设置字体,点确定后生效

问题描述

我的源码,关键调用的方法在最后几行,我在前面加了*号,就是font_mode()里面该如何编写,只要弹出那个JDialog即可,importjavax.swing.*;importjava.awt.event.*;importjava.awt.*;importjava.io.*;publicclassNoteBookextendsJFrame{publicJTextAreata;privateJMenuBarmb;privateJMenufile,edit,form,help;privateJMenuItemnewfile,open,save,exit;privateJMenuItemcut,copy,paste,select_all;privateJMenuItemfont,about;privateJScrollPanejsp;privateJFileChooserjfc;publicNoteBook(){super("记事本");Containerc=getContentPane();jfc=newJFileChooser();mb=newJMenuBar();file=newJMenu("文件");edit=newJMenu("编辑");form=newJMenu("格式");help=newJMenu("帮助");newfile=newJMenuItem("新建");open=newJMenuItem("打开");save=newJMenuItem("保存");exit=newJMenuItem("退出");cut=newJMenuItem("剪切");copy=newJMenuItem("复制");paste=newJMenuItem("粘贴");select_all=newJMenuItem("全选");font=newJMenuItem("字体...");about=newJMenuItem("关于...");newfile.addActionListener(newHandler1());open.addActionListener(newHandler1());save.addActionListener(newHandler1());exit.addActionListener(newHandler1());cut.addActionListener(newHandler1());copy.addActionListener(newHandler1());paste.addActionListener(newHandler1());select_all.addActionListener(newHandler1());font.addActionListener(newHandler1());about.addActionListener(newHandler1());mb.add(file);mb.add(edit);mb.add(form);mb.add(help);file.add(newfile);file.add(open);file.add(save);file.add(exit);edit.add(cut);edit.add(copy);edit.add(paste);edit.add(select_all);form.add(font);help.add(about);setJMenuBar(mb);ta=newJTextArea();//ta.setColumns(20);ta.setLineWrap(true);add(ta);jsp=newJScrollPane(ta);jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);add(jsp);setSize(800,600);setVisible(true);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}//打开文件privatevoidopenfile(){JFileChooserfc=newJFileChooser();intreturnVal=fc.showOpenDialog(this);if(returnVal==JFileChooser.APPROVE_OPTION){Filefile=fc.getSelectedFile();try{ta.read(newFileReader(file),null);}catch(IOExceptionexp){}}}//保存文件privatevoidsavefile(){JFileChooserfc=newJFileChooser();intreturnVal=fc.showSaveDialog(this);if(returnVal==JFileChooser.APPROVE_OPTION){Filefile=fc.getSelectedFile();try{ta.write(newFileWriter(file));}catch(IOExceptionexp){}}}//新建privatevoidnew_file(){ta.setText("");}//剪切privatevoidcut_file(){ta.cut();}//复制privatevoidcopy_file(){ta.copy();}//粘贴privatevoidpaste_file(){ta.paste();}privatevoidselect_file(){ta.selectAll();}**privatevoidfont_mode(){}//主函数publicstaticvoidmain(Stringargs[]){NoteBooknb=newNoteBook();}classHandler1implementsActionListener{publicvoidactionPerformed(ActionEvente){if(e.getSource()==open)//打开openfile();if(e.getSource()==save)//保存savefile();if(e.getSource()==newfile)//新建new_file();if(e.getSource()==exit)//退出System.exit(0);if(e.getSource()==cut)cut_file();if(e.getSource()==copy)copy_file();if(e.getSource()==paste)paste_file();if(e.getSource()==select_all)select_file();**if(e.getSource()==font)font_mode();if(e.getSource()==about){JOptionPane.showMessageDialog(null,"A06计算机1班"+"n"+"江挺"+"n"+"060505107");}}}}

解决方案

解决方案二:
http://topic.csdn.net/u/20090523/00/2782ce71-9f8a-4450-a0db-0952db0a0aca.html看看这个可能有帮助
解决方案三:
classFontTestimplementsActionListener{//获取当前的环境变量privatejava.awt.GraphicsEnvironmentenv=java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();privateJComboBoxcbFontName,cbFontStyle,cbFontHeight;privateJDialogjd;privateJButtonbtnGo;publicFontTest(){jd=newJDialog();String[]fontNames=env.getAvailableFontFamilyNames();cbFontName=newJComboBox(fontNames);String[]fontStyles=newString[]{"普通","粗体","斜体"};cbFontStyle=newJComboBox(fontStyles);String[]fontHeights=newString[10];for(inti=12;i<22;i++)fontHeights[i-12]=newString(Integer.toString(i+10));cbFontHeight=newJComboBox(fontHeights);btnGo=newJButton("OK");btnGo.setActionCommand("ApplyFont");JPanelpaneTop=newJPanel();paneTop.add(cbFontName);paneTop.add(cbFontStyle);paneTop.add(cbFontHeight);paneTop.add(btnGo);jd.add(paneTop);}publicvoidaddHandEvent(){btnGo.addActionListener(this);}publicvoidactionPerformed(ActionEventevent){if(event.getActionCommand().equals("ApplyFont")){StringfontName=cbFontName.getSelectedItem().toString();intfontStyle;switch(cbFontStyle.getSelectedIndex()){case0:fontStyle=Font.PLAIN;break;case1:fontStyle=Font.BOLD;break;case2:fontStyle=Font.ITALIC;break;default:fontStyle=Font.PLAIN;break;}//获取字体大小intfontSize=Integer.parseInt(cbFontHeight.getSelectedItem().toString());Fontfont=newFont(fontName,fontStyle,fontSize);area.setFont(font);}}publicvoidshow(){addHandEvent();jd.setTitle("Font");jd.pack();jd.setVisible(true);jd.setLocationRelativeTo(null);}}

LZ看看这是我字体改变的类,是放在记事本类里面作为它的内部类来调用的,可以改变字体大小,颜色,和字体等

时间: 2024-09-20 03:34:27

如何像Windows的记事本一样,点击【字体】按钮后,弹出一个JDialog,然后在里面设置字体,点确定后生效的相关文章

ajax-点击详细信息,弹出一个层显示所有的信息,信息是从后台获取的

问题描述 点击详细信息,弹出一个层显示所有的信息,信息是从后台获取的 页面是html,数据是用ajax调用Servlet获取的. 信息是分两部分,第一部分是会员信息,第二部分是会员报名的信息,在一个层上显示. 解决方案 jquery load下内容到你的曾就好.. DEMO,你的jsp只返回需要的html代码,不要连html,body标签那种一起返回了,要不可能页面会错乱 <table id="tbUser"> <tr><td><a href=

ajax-jsp页面点击按钮之后弹出一个新查询用户的窗口,然后返回选中的用户id

问题描述 jsp页面点击按钮之后弹出一个新查询用户的窗口,然后返回选中的用户id jsp页面点击按钮之后弹出一个新查询用户的窗口,然后返回选中的用户id,在通过ajax查询返回相对的改变jsp页面的文本框的值 请问 当我按那个查询按钮之后,弹出那个查询窗口,选中相应的值之后,按确定之后会关闭查询窗口(会返回选中的用户id)然后通过ajax查询相应的值,同时把值填到一个text文本域内,希望高手可以帮我解决一下这个怎么做? 解决方案 思路基本是正确的,你的问题只是在于不自信.多鼓捣鼓捣,效果就出来

代码-GridView里点击编辑按钮,弹出窗口进行编辑,怎么传值

问题描述 GridView里点击编辑按钮,弹出窗口进行编辑,怎么传值 GridView里点击编辑按钮,弹出窗口进行编辑,怎么获得每一行的值传到编辑窗口去啊?求各位大神指教!!! 这是弹出窗口的代码: 解决方案 当前行都可以找到.行里的数据当然可以获取了. 解决方案二: 你点击编辑的时候就可以获取到 当前行的数据,和你绑定当前行的数据一样的方法啊. 解决方案三: 你点击编辑的时候就可以获取到 当前行的数据,和你绑定当前行的数据一样的方法啊. 解决方案四: <a href=""edi

Windows 10 10240 系统点击网络图标并弹出网络设置界面的设置

我们要怎么实现点击右下角的网络图标,然后弹出打开如下界面呢? 1.现在我们开始操作,我们同时按下WIN+R键 然后进入后我们在运行框中输入regedit,调出注册表编辑器 如下图所示: 2.然后我们再打开界面中我们定位:\HEKY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Settings\Network,右击network文件夹,选择权限: 3.然后我们在弹出界面中我们点击"高级"如下图

在HTML中怎么点击一个按钮能弹出一个选项框(可以自己定义选项的)

问题描述 像这种形式的怎么控制弹出的方向(左边弹出) 解决方案 解决方案二:$.layer();jQuery的layer可参考API解决方案三:百度一下windows弹出框,还有借助框架的办法,比较多的框中的内容都是自己定制的解决方案四:参考解决方案五:亲们我自己找到了是这个<scriptsrc="appframework.min.js"type="text/javascript"></script><scriptsrc="a

点击新增按钮,弹出小窗口,大窗口则变灰

问题描述 表单数据中,点击"新增"按钮后,弹出新增的小窗口,而表单数据的页面窗口则变灰.新增后,填写数据完整后保存,则在表单数据中插入一条新记录.这样子的话,用jqueryUI如何实现呢? 解决方案 解决方案二:弹出模态窗口不行吗window.showModalDialog解决方案三:window.showModalDialog(targeturl,"","scroll=no;status=no;"+size+";menu=no;res

点击网站“设为主页” 按钮会弹出一个空白页怎么解决?

问题描述 只要点设为主页就会弹出窗口空白页javascript:;如何改代码. 谢谢了.本人菜鸟,请详细些.部分代码在下.</div> <ul id="set"> <li class="sethome"><a href="javascript:;" onclick="setHomePage(this, 'http://<?{$smarty.const.SITE_DOMAIN}?>/'

MFC中实现点击鼠标左键弹出一个对话框

问题描述 现在在MFC程序中以有一对话框的ID为IDD_DATA1,请问如何实现点击鼠标右键弹出次对话框?谢谢大家! 解决方案 解决方案二:添加鼠标按下与弹起的消息,新增一个BOOL型变量a,按钮鼠标赋值为TRUE,弹起赋值为FALSE.伪代码如下:if(a){SetBKColor(RGB(0,0,0));}else{SetBKColor(RGB(255,255,255));}解决方案三:在资源编辑器打开IDD_DATA1然后打开ClassWizard,为对话框资源新建对话框,比如叫CData1

javascript-js点击一个按钮,缓慢弹出一个对话框

问题描述 js点击一个按钮,缓慢弹出一个对话框 用js实现,点击一个按钮,缓慢弹出一个对话框,弹出的对话框要有一定的效果 解决方案 点击触发一个事件,然后又一定效果的对话框显示不就可以了 解决方案二: VC中怎样点击按钮弹出一个对话框事件1:点击一个按钮,弹出一个对话框事件2:点击一个按钮,弹出一个对话框 解决方案三: colorbox,artDialog大把..http://www.jacklmoore.com/colorbox/ <link type="text/css" r