皮皮网

【鼠标后台点击源码】【明星评选源码】【dtm实现源码】pos java源码

来源:艾维源码 时间:2024-12-24 10:24:01

1.求Java记事本源代码
2.JAVAPOS怎么加切纸命令
3.我是一个刚刚出道的程序员最近应聘了一家专做pos机的公司。想问一下,pos机那里会用到j
4.使用java开发代码编辑器(使用java开发代码编辑器的好处)

pos java源码

求Java记事本源代码

       自己写的,能实现基本功能:

       import java.awt.BorderLayout;

       import java.awt.FileDialog;

       import java.awt.Font;

       import java.awt.datatransfer.Clipboard;

       import java.awt.datatransfer.DataFlavor;

       import java.awt.datatransfer.StringSelection;

       import java.awt.datatransfer.Transferable;

       import java.awt.datatransfer.UnsupportedFlavorException;

       import java.awt.event.ActionEvent;

       import java.awt.event.ActionListener;

       import java.io.BufferedReader;

       import java.io.BufferedWriter;

       import java.io.File;

       import java.io.FileNotFoundException;

       import java.io.FileReader;

       import java.io.FileWriter;

       import java.io.IOException;

       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.JScrollPane;

       import javax.swing.JTextArea;

       import javax.swing.border.TitledBorder;

       /*因为根据个人的电脑路径可能有所偏差,没有源路径的鼠标后台点击源码情况下,设置默认保存路径为D盘根目录下

        * 若要选择保存其他地方,可以选择 另存为*/

       public class TestDemo extends JFrame {

        private static final long serialVersionUID = -L;

        private String url = null;//文件路径

        private String str=null;//复制或剪切 的字符串

        private StringSelection stringSelection=null;

        private Clipboard clipboard=new Clipboard(str);

        private Transferable transferable=null;

        private DataFlavor flavor=null;

        public TestDemo() {

        init();

        }

        private void init() {

        setTitle("我的记事本");

        setSize(, );

        setContentPane(createContentPane());//添加主面板

        }

       /*创建主面板*/

        private JPanel createContentPane() {

        JPanel pane = new JPanel(new BorderLayout());

        pane.add(BorderLayout.NORTH, createChocePane());//添加菜单栏

        pane.add(createAreaPane());//添加文本编辑区域

        return pane;

        }

       /*创建菜单栏,以及实现功能*/

        private JPanel createChocePane() {

        JPanel pane = new JPanel();

        JMenuBar menuBar1 = new JMenuBar();

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

        menuBar1.add(menu);

        JMenuItem menuIt1 = new JMenuItem("新建");

        JMenuItem menuIt2 = new JMenuItem("打开");

        JMenuItem menuIt3 = new JMenuItem("保存");

        JMenuItem menuIt4 = new JMenuItem("另存为");

        menu.add(menuIt1);

        menu.add(menuIt2);

        menu.add(menuIt3);

        menu.add(menuIt4);

        JMenuBar menuBar2 = new JMenuBar();

        JMenu menu2 = new JMenu("编辑");

        menuBar2.add(menu2);

        JMenuItem menuIt5 = new JMenuItem("复制");

        JMenuItem menuIt6 = new JMenuItem("剪切");

        JMenuItem menuIt7 = new JMenuItem("粘帖");

        menu2.add(menuIt5);

        menu2.add(menuIt6);

        menu2.add(menuIt7);

        JMenuBar menuBar3 = new JMenuBar();

        JMenu menu3 = new JMenu("帮助");

        menuBar3.add(menu3);

        JMenuItem menuIt8 = new JMenuItem("关于记事本");

        menu3.add(menuIt8);

        pane.add(menuBar1);

        pane.add(menuBar2);

        pane.add(menuBar3);

        menuIt1.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

        testArea.setText(null);

        }

        });

        menuIt2.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent arg0) {

        final FileDialog fd = new FileDialog(new JFrame(), "查找文件",

        FileDialog.LOAD);

        fd.setVisible(true);

        if (fd.getDirectory() != null && fd.getFile() != null) {

        testArea.setText(null);

        url = fd.getDirectory() + fd.getFile();

        try {

        BufferedReader in = new BufferedReader(new FileReader(

        url));

        for (int i = 0;; i++) {

        testArea.append(in.readLine());

        if (in.read() == -1) {

        break;

        } else

        continue;

        }

        } catch (FileNotFoundException e) {

        e.printStackTrace();

        } catch (IOException e) {

        e.printStackTrace();

        }

        }

        }

        });

        menuIt3.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

        if (url==null) {

        url="D:\\新建 文本文档.txt";

        }

        File f = new File(url);

        BufferedWriter out = null;

        try {

        out = new BufferedWriter(new FileWriter(url));

        f.createNewFile();

        out.append(testArea.getText());

        out.flush();

        } catch (IOException e1) {

        e1.printStackTrace();

        } finally {

        try {

        out.close();

        } catch (IOException e1) {

        e1.printStackTrace();

        }

        }

        }

        });

        menuIt4.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent arg0) {

        FileDialog fd = new FileDialog(new JFrame(), "保存文本",

        FileDialog.SAVE);

        fd.setVisible(true);

        if (url!=null) {

        File f = new File(url);

        BufferedWriter out = null;

        try {

        f.createNewFile();

        out = new BufferedWriter(new FileWriter(url));

        out.append(testArea.getText());

        out.flush();

        } catch (IOException e) {

        e.printStackTrace();

        } finally {

        try {

        out.close();

        } catch (IOException e) {

        e.printStackTrace();

        }

        }

        }

        }

        });

        menuIt5.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

        str=testArea.getSelectedText();

        stringSelection=new StringSelection(str);

        clipboard.setContents(stringSelection, null);

        }

        });

        menuIt6.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent arg0) {

        str=testArea.getSelectedText();

        stringSelection=new StringSelection(str);

        clipboard.setContents(stringSelection, null);

        int start=testArea.getSelectionStart();

        int end=testArea.getSelectionEnd();

        testArea.replaceRange( null,start,end);

        }

        });

        menuIt7.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

        transferable=clipboard.getContents(this);

        flavor=DataFlavor.stringFlavor;

        if (transferable.isDataFlavorSupported(flavor)) {

        int start=testArea.getSelectionStart();

        int end=testArea.getSelectionEnd();

        testArea.replaceRange( null,start,end);

        int pos=testArea.getCaretPosition();

        try {

        str=(String)transferable.getTransferData(flavor);

        testArea.insert(str, pos);

        } catch (UnsupportedFlavorException e1) {

        e1.printStackTrace();

        } catch (IOException e1) {

        e1.printStackTrace();

        }

       }

        }

        });

        menuIt8.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

        JOptionPane.showMessageDialog(null,"功能简单,绝对原创 ");

        }

        });

        return pane;

        }

        JTextArea testArea;

        private JScrollPane createAreaPane() {

        JScrollPane pane = new JScrollPane();

        pane.setBorder(new TitledBorder("编辑区域"));

        testArea = new JTextArea();

        testArea.setFont(new Font("宋体", Font.BOLD, ));

        testArea.setLineWrap(true);

        pane.getViewport().add(testArea);

        return pane;

        }

        public static void main(String[] args) {

        TestDemo td = new TestDemo();

        td.setVisible(true);

        }

       }

JAVAPOS怎么加切纸命令

       设置来自于电脑驱动程序的纸张设置(例如:“X”等),如果你的纸张定义的准确,在打印完成后纸张应该是停住不动的,如果你按一下“切纸”键,明星评选源码纸张会将两张纸的接缝处准确地走到分纸器的切纸位置,这时你就可以很容易的撕纸了。撕完纸后,按一下“切纸”或者“联机”纸张又会回退到打印初始的位置,可以继续输入打印命令。dtm实现源码设置切纸的要领就是定义纸张和排版!

       微调页顶保存应该是同时按“联机”+“进纸/退纸”键,不可能保存不住!

我是一个刚刚出道的程序员最近应聘了一家专做pos机的公司。想问一下,虐杀原型源码pos机那里会用到j

       我是一个刚刚出道的程序员最近应聘了一家专做pos机的公司。想问一下,pos机那里会用到java?

       很多地方都会用的,比如pos监控系统,一般都是javase阶段源码用java写的。

       补充:pos监控就是使用b/s架构的,一般后台用Weblogic

刷卡机连接java

       你也只是写刷卡的管理系统吧。比如计费什么的?

       你找到POS机的供应商,问他们要接口。。。什么都有了

JavaPOS 什么东西

       POS机的管理程序就是用java编写的,是用来管理POS机的各种硬件的驱动和商场营业的进\销\存等管理 ~

       POS监控就是使用b/s架构的,一般后台用Weblogic~

POS机不能刷卡,显示java驱动连接失败,怎么办?

       后端平台进bios设置看看,因为如今的主板bios默认是关闭com口的,因此bios打开com口就不必再修改了

java如何接收pos机数据

       建议你查一下开源的jpos资料(用java来虚拟pos机),另外查一下协议的资料。应该对你的问题有所帮助。

       java对接pos机的介绍就聊到这里吧。

使用java开发代码编辑器(使用java开发代码编辑器的好处)

       java编程常用的软件有哪些

       æƒ³è¦åšå¥½Java开发,没有常用的开发工具可不行。而Java初学者往往处于对Java还一知半解的状态,对于Java开发工具的了解也不会太多,常常会为了找开发工具而浪费大量的时间。给大家介绍下Java开发工程师常用的开发工具有哪些。

       ç¬¬ä¸€ä¸ªJava常用的开发工具为JDK,也叫Java软件开发工具包,是一个编写Java的Applet小程序和应用程序的程序开发环境,JDK中还包括了Java的开发环境,所以下载了JDK就包含了Java开发环境。而且JDK之所以被叫做Java软件开发工具包,是因为它包含了其它Java开发工具,如:编译工具(javac.exe)、打包工具(jar.exe)等。

       ç¬¬äºŒä¸ªæ˜¯JavaIDE:Eclipse,Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。而且由于它的平等和一致性,使得其它开发语言也可以在eclipse上使用。

       ç¬¬ä¸‰ä¸ªæ˜¯notepad++,notepad++是一个编译工具,它的优点是即使你把文件删掉了,如果再notepad++中打开过,那么那里就会保留,所以对一些容易误删的人来说比较友好,notepad++可以用来替代notepad。

       ç¬¬å››ä¸ªæ˜¯VisualStudioCode,它是一个运行于MacOSX、Windows和Linux之上的跨平台源代码编辑器。而且这个编辑器支持多种语言和格式的编写。

       ä»¥ä¸Šå°±æ˜¯æ¯”较常用的4种Java开发工具,Java的初学者在对开发工具不了解的情况下,可以根据上述介绍来选择适合自己的开发工具,这样可以减少自己到处找开发工具还可能找到不适合的所浪费的时间。

       å¦‚何用java编写一个简单的文本编辑器?

       importjava.awt.*;\x0d\importjava.awt.event.*;\x0d\importjavax.swing.*;\x0d\importjava.io.*;\x0d\\x0d\publicclassf1extendsFrameimplementsActionListener\x0d\{ \x0d\privateMenuBarmenubar=newMenuBar();\x0d\privateMenufilemenu=newMenu("文件");\x0d\privateMenueditmenu=newMenu("编辑");\x0d\privateMenuformmenu=newMenu("格式");\x0d\privateMenuItem[]itemf=newMenuItem[4];\x0d\privateMenuItem[]iteme=newMenuItem[6];\x0d\privateMenuItem[]items=newMenuItem[2];\x0d\privateTextAreatf=newTextArea();\x0d\\x0d\publicinta=0,b=0,c=0,style=Font.PLAIN,size=;\x0d\publicStrings1="red:"+a+""+"green:"+b+""+"blue"+c,\x0d\s2="宋体";\x0d\\x0d\publicString[]sz1={ "","","","","",""},\x0d\sz2={ "宋体","黑体","幼圆","隶书","行楷","Arial","Georgia"},\x0d\sz3={ "粗体","倾斜","常规","粗斜"};\x0d\\x0d\JDialogdialog=newJDialog(this,"字体",true);\x0d\Containercp=dialog.getContentPane();\x0d\JLabel[]lb=newJLabel[8];\x0d\JLabellb1=newJLabel(s1,JLabel.LEFT);\x0d\JButtonb1=newJButton("确定"),\x0d\b2=newJButton("取消");\x0d\JComboBoxjc1=newJComboBox(),\x0d\jc2=newJComboBox(),\x0d\jc3=newJComboBox();\x0d\JScrollBarjb1=newJScrollBar(JScrollBar.HORIZONTAL,,5,0,);\x0d\JScrollBarjb2=newJScrollBar(JScrollBar.HORIZONTAL,,5,0,);\x0d\JScrollBarjb3=newJScrollBar(JScrollBar.HORIZONTAL,,5,0,);

java源代码编辑器设计用于编写Java源代码的编辑器,基本要求:可以完成源程序的文件打开,编辑和文件保存

       ä¸€.高亮的内容:

       éœ€è¦é«˜äº®çš„内容有:

       1.关键字,如public,int,true等.

       2.运算符,如+,-,*,/等

       3.数字

       4.高亮字符串,如"exampleofstring"

       5.高亮单行注释

       6.高亮多行注释

       äºŒ.实现高亮的核心方法:

       StyledDocument.setCharacterAttributes(intoffset,intlength,AttributeSets,booleanreplace)

       ä¸‰.文本编辑器选择.

       Java中提供的多行文本编辑器有:JTextComponent,JTextArea,JTextPane,JEditorPane等,都可以使用.但是因为语法着色中文本要使用多种风格的样式,所以这些文本编辑器的document要使用StyledDocument.

       JTextArea使用的是PlainDocument,æ­¤document不能进行多种格式的着色.

       JTextPane,JEditorPane使用的是StyledDocument,默认就可以使用.

       ä¸ºäº†å®žçŽ°è¯­æ³•ç€è‰²,可以继承自DefaultStyledDocument,设置其为这些文本编辑器的documet,或者也可以直接使用JTextPane,JEditorPane来做.为了方便,这里就直接使用JTextPane了.

       å››.何时进行着色.

       å½“文本编辑器中有字符被插入或者删除时,文本的内容就发生了变化,这时检查,进行着色.

       ä¸ºäº†ç›‘视到文本的内容发生了变化,要给document添加一个DocumentListener监听器,在他的removeUpdate和insertUpdate中进行着色处理.

       è€ŒchangedUpdate方法在文本的属性例如前景色,背景色,字体等风格改变时才会被调用.

       @Override

       publicvoidchangedUpdate(DocumentEvente){

       }

       @Override

       publicvoidinsertUpdate(DocumentEvente){

       try{

       colouring((StyledDocument)e.getDocument(),e.getOffset(),e.getLength());

       }catch(BadLocationExceptione1){

       e1.printStackTrace();

       }

       }

       @Override

       publicvoidremoveUpdate(DocumentEvente){

       try{

       //因为删除后光标紧接着影响的单词两边,所以长度就不需要了

       colouring((StyledDocument)e.getDocument(),e.getOffset(),0);

       }catch(BadLocationExceptione1){

       e1.printStackTrace();

       }

       }

       äº”.着色范围:

       pos:指变化前光标的位置.

       len:指变化的字符数.

       ä¾‹å¦‚有关键字public,int

       å•è¯"publicint",在"public"和"int"中插入一个空格后变成"publicint",一个单词变成了两个,这时对"public"和"int"进行着色.

       ç€è‰²èŒƒå›´æ˜¯public中p的位置和int中t的位置加1,即是pos前面单词开始的下标和pos+len开始单词结束的下标.所以上例中要着色的范围是"publicint".

       æä¾›äº†æ–¹æ³•indexOfWordStart来取得pos前单词开始的下标,方法indexOfWordEnd来取得pos后单词结束的下标.

       publicintindexOfWordStart(Documentdoc,intpos)throwsBadLocationException{

       //从pos开始向前找到第一个非单词字符.

       for(;pos0isWordCharacter(doc,pos-1);--pos);

       returnpos;

       }

       publicintindexOfWordEnd(Documentdoc,intpos)throwsBadLocationException{

       //从pos开始向前找到第一个非单词字符.

       for(;isWordCharacter(doc,pos);++pos);

       returnpos;

       }

       ä¸€ä¸ªå­—符是单词的有效字符:是字母,数字,下划线.

       publicbooleanisWordCharacter(Documentdoc,intpos)throwsBadLocationException{

       charch=getCharAt(doc,pos);//取得在文档中pos位置处的字符

       if(Character.isLetter(ch)||Character.isDigit(ch)||ch=='_'){ returntrue;}

       returnfalse;

       }

       æ‰€ä»¥ç€è‰²çš„范围是[start,end]:

       intstart=indexOfWordStart(doc,pos);

       intend=indexOfWordEnd(doc,pos+len);

       å…­.关键字着色.

       ä»Žç€è‰²èŒƒå›´çš„开始下标起进行判断,如果是以字母开或者下划线开头,则说明是单词,那么先取得这个单词,如果这个单词是关键字,就进行关键字着色,如果不是,就进行普通的着色.着色完这个单词后,继续后面的着色处理.已经着色过的字符,就不再进行着色了.

       publicvoidcolouring(StyledDocumentdoc,intpos,intlen)throwsBadLocationException{

       //取得插入或者删除后影响到的单词.

       //例如"public"在b后插入一个空格,就变成了:"public",这时就有两个单词要处理:"pub"和"lic"

       //这时要取得的范围是pub中p前面的位置和lic中c后面的位置

       intstart=indexOfWordStart(doc,pos);

       intend=indexOfWordEnd(doc,pos+len);

       charch;

       while(startend){

       ch=getCharAt(doc,start);

       if(Character.isLetter(ch)||ch=='_'){

       //如果是以字母或者下划线开头,说明是单词

       //pos为处理后的最后一个下标

       start=colouringWord(doc,start);

       }else{

       //SwingUtilities.invokeLater(newColouringTask(doc,pos,wordEnd-pos,normalStyle));

       ++start;

       }

       }

       }

       publicintcolouringWord(StyledDocumentdoc,intpos)throwsBadLocationException{

       intwordEnd=indexOfWordEnd(doc,pos);

       Stringword=doc.getText(pos,wordEnd-pos);//要进行着色的单词

       if(keywords.contains(word)){

       //如果是关键字,就进行关键字的着色,否则使用普通的着色.

       //这里有一点要注意,在insertUpdate和removeUpdate的方法调用的过程中,不能修改doc的属性.

       //但我们又要达到能够修改doc的属性,所以把此任务放到这个方法的外面去执行.

       //实现这一目的,可以使用新线程,但放到swing的事件队列里去处理更轻便一点.

       SwingUtilities.invokeLater(newColouringTask(doc,pos,wordEnd-pos,keywordStyle));

       }else{

       SwingUtilities.invokeLater(newColouringTask(doc,pos,wordEnd-pos,normalStyle));

       }

       returnwordEnd;

       }

       å› ä¸ºåœ¨insertUpdate和removeUpdate方法中不能修改document的属性,所以着色的任务放到这两个方法外面,所以使用了SwingUtilities.invokeLater来实现.

       privateclassColouringTaskimplementsRunnable{

       privateStyledDocumentdoc;

       privateStylestyle;

       privateintpos;

       privateintlen;

       publicColouringTask(StyledDocumentdoc,intpos,intlen,Stylestyle){

       this.doc=doc;

       this.pos=pos;

       this.len=len;

       this.style=style;

       }

       publicvoidrun(){

       try{

       //这里就是对字符进行着色

       doc.setCharacterAttributes(pos,len,style,true);

       }catch(Exceptione){ }

       }

       }

       ä¸ƒ:源码

       å…³é”®å­—着色的完成代码如下,可以直接编译运行.对于数字,运算符,字符串等的着色处理在以后的教程中会继续进行详解.

       importjava.awt.Color;

       importjava.util.HashSet;

       importjava.util.Set;

       importjavax.swing.JFrame;

       importjavax.swing.JTextPane;

       importjavax.swing.SwingUtilities;

       importjavax.swing.event.DocumentEvent;

       importjavax.swing.event.DocumentListener;

       importjavax.swing.text.BadLocationException;

       importjavax.swing.text.Document;

       importjavax.swing.text.Style;

       importjavax.swing.text.StyleConstants;

       importjavax.swing.text.StyledDocument;

       publicclassHighlightKeywordsDemo{

       publicstaticvoidmain(String[]args){

       JFrameframe=newJFrame();

       JTextPaneeditor=newJTextPane();

       editor.getDocument().addDocumentListener(newSyntaxHighlighter(editor));

       frame.getContentPane().add(editor);

       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

       frame.setSize(,);

       frame.setVisible(true);

       }

       }

       /

**

       *当文本输入区的有字符插入或者删除时,进行高亮.

       

*

       *要进行语法高亮,文本输入组件的document要是styleddocument才行.所以不要用JTextArea.可以使用JTextPane.

       

*

       *@authorBiao

       

*

       */

       classSyntaxHighlighterimplementsDocumentListener{

       privateSetStringkeywords;

       privateStylekeywordStyle;

       privateStylenormalStyle;

       publicSyntaxHighlighter(JTextPaneeditor){

       //准备着色使用的样式

       keywordStyle=((StyledDocument)editor.getDocument()).addStyle("Keyword_Style",null);

       normalStyle=((StyledDocument)editor.getDocument()).addStyle("Keyword_Style",null);

       StyleConstants.setForeground(keywordStyle,Color.RED);

       StyleConstants.setForeground(normalStyle,Color.BLACK);

       //准备关键字

       keywords=newHashSetString();

       keywords.add("public");

       keywords.add("protected");

       keywords.add("private");

       keywords.add("_int9");

       keywords.add("float");

       keywords.add("double");

       }

       publicvoidcolouring(StyledDocumentdoc,intpos,intlen)throwsBadLocationException{

       //取得插入或者删除后影响到的单词.

       //例如"public"在b后插入一个空格,就变成了:"public",这时就有两个单词要处理:"pub"和"lic"

       //这时要取得的范围是pub中p前面的位置和lic中c后面的位置

       intstart=indexOfWordStart(doc,pos);

       intend=indexOfWordEnd(doc,pos+len);

       charch;

       while(startend){

       ch=getCharAt(doc,start);

       if(Character.isLetter(ch)||ch=='_'){

       //如果是以字母或者下划线开头,说明是单词

       //pos为处理后的最后一个下标

       start=colouringWord(doc,start);

       }else{

       SwingUtilities.invokeLater(newColouringTask(doc,start,1,normalStyle));

       ++start;

       }

       }

       }

       /

**

       *对单词进行着色,并返回单词结束的下标.

       

*

       *@paramdoc

       *@parampos

       *@return

       *@throwsBadLocationException

       */

       publicintcolouringWord(StyledDocumentdoc,intpos)throwsBadLocationException{

       intwordEnd=indexOfWordEnd(doc,pos);

       Stringword=doc.getText(pos,wordEnd-pos);

       if(keywords.contains(word)){

       //如果是关键字,就进行关键字的着色,否则使用普通的着色.

       //这里有一点要注意,在insertUpdate和removeUpdate的方法调用的过程中,不能修改doc的属性.

       //但我们又要达到能够修改doc的属性,所以把此任务放到这个方法的外面去执行.

       //实现这一目的,可以使用新线程,但放到swing的事件队列里去处理更轻便一点.

       SwingUtilities.invokeLater(newColouringTask(doc,pos,wordEnd-pos,keywordStyle));

       }else{

       SwingUtilities.invokeLater(newColouringTask(doc,pos,wordEnd-pos,normalStyle));

       }

       returnwordEnd;

       }

       /

**