⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dicclient.java

📁 一个用java编写的字典。使用的是数组查询来实现单词的查找。附带单词文档。有1万多个单词课查询。可以设置server和port.
💻 JAVA
字号:
import java.awt.Dimension;import java.awt.Toolkit;import java.net.*;import java.io.*;import javax.swing.JFrame;public class DicClient extends javax.swing.JFrame {        /**	 * 	 */	private static final long serialVersionUID = 1L;	/** Creates new form ClientFrame */    public DicClient() {        initComponents();        this.jLabel6.setVisible(false);        this.jLabel7.setVisible(false);        this.jLabel8.setVisible(false);        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        this.setLocation((int)(screen.getWidth()/2-width/2),(int)(screen.getHeight()/2-height/2));            }        /** This method is called from within the constructor to     * initialize the form.     */    @SuppressWarnings("unchecked")    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents    private void initComponents() {        jLabel1 = new javax.swing.JLabel();        jTextField1 = new javax.swing.JTextField();        jLabel2 = new javax.swing.JLabel();        jTextField2 = new javax.swing.JTextField();        jSeparator1 = new javax.swing.JSeparator();        jLabel3 = new javax.swing.JLabel();        jLabel4 = new javax.swing.JLabel();        jTextField3 = new javax.swing.JTextField();        jLabel5 = new javax.swing.JLabel();        jButton1 = new javax.swing.JButton();        jLabel6 = new javax.swing.JLabel();        jLabel7 = new javax.swing.JLabel();        jScrollPane2 = new javax.swing.JScrollPane();        jTextArea1 = new javax.swing.JTextArea();        jLabel8 = new javax.swing.JLabel();        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);        jLabel1.setText("Host Name");        jLabel2.setText("Port Num.");        jTextField2.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jTextField2ActionPerformed(evt);            }        });        jLabel3.setFont(new java.awt.Font("Arial", 1, 36)); // NOI18N        jLabel3.setText("Dictionary Client");        jLabel4.setText("Word");        jLabel5.setText("Meaning");        jButton1.setText("Translate");        jButton1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButton1ActionPerformed(evt);            }        });        jLabel6.setForeground(new java.awt.Color(255, 51, 0));        jLabel6.setText("Error Port Number");        jLabel7.setForeground(new java.awt.Color(255, 51, 0));        jLabel7.setText("Host not Exist");        jTextArea1.setColumns(20);        jTextArea1.setRows(5);        jScrollPane2.setViewportView(jTextArea1);        jLabel8.setForeground(new java.awt.Color(255, 51, 0));        jLabel8.setText("Time Out!");        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());        getContentPane().setLayout(layout);        layout.setHorizontalGroup(            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(layout.createSequentialGroup()                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                    .addGroup(layout.createSequentialGroup()                        .addGap(126, 126, 126)                        .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 284, javax.swing.GroupLayout.PREFERRED_SIZE))                    .addGroup(layout.createSequentialGroup()                        .addGap(25, 25, 25)                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                            .addGroup(layout.createSequentialGroup()                                .addComponent(jLabel2)                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                                .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)                                .addGap(18, 18, 18)                                .addComponent(jLabel6))                            .addGroup(layout.createSequentialGroup()                                .addComponent(jLabel1)                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 278, javax.swing.GroupLayout.PREFERRED_SIZE)                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                                .addComponent(jLabel7)))                        .addGap(125, 125, 125))                    .addGroup(layout.createSequentialGroup()                        .addContainerGap()                        .addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 570, Short.MAX_VALUE))                    .addGroup(layout.createSequentialGroup()                        .addGap(35, 35, 35)                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                            .addComponent(jLabel4)                            .addComponent(jLabel5))                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)                            .addGroup(layout.createSequentialGroup()                                .addGap(14, 14, 14)                                .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 273, javax.swing.GroupLayout.PREFERRED_SIZE))                            .addGroup(layout.createSequentialGroup()                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                                .addComponent(jScrollPane2)))                        .addGap(18, 18, 18)                        .addComponent(jButton1)                        .addGap(18, 18, 18)                        .addComponent(jLabel8)))                .addContainerGap())        );        layout.setVerticalGroup(            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(layout.createSequentialGroup()                .addGap(33, 33, 33)                .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)                .addGap(46, 46, 46)                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(jLabel1)                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(jLabel7))                .addGap(18, 18, 18)                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(jLabel2)                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(jLabel6))                .addGap(18, 18, 18)                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)                .addGap(18, 18, 18)                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(jLabel4)                    .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(jButton1)                    .addComponent(jLabel8))                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                    .addGroup(layout.createSequentialGroup()                        .addGap(26, 26, 26)                        .addComponent(jLabel5))                    .addGroup(layout.createSequentialGroup()                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))                .addContainerGap(56, Short.MAX_VALUE))        );        pack();    }// </editor-fold>//GEN-END:initComponentsprivate void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField2ActionPerformed}//GEN-LAST:event_jTextField2ActionPerformedprivate void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed    this.jLabel6.setVisible(false);    this.jLabel7.setVisible(false);    this.jLabel8.setVisible(false);    serverHostName = jTextField1.getText();    String word = jTextField3.getText().trim();    try{    port = Integer.parseInt(jTextField2.getText().trim());    }catch(Exception e){        jLabel6.setVisible(true);    }    jLabel6.setVisible(false);    String meaning= DictionarySearch(word);    jTextArea1.setText(meaning);    this.jTextField3.setText("");}//GEN-LAST:event_jButton1ActionPerformed    public String DictionarySearch(String A){		StringBuffer translate = new StringBuffer();		try{			String line = "";//			open a connection to the server			Socket s=new Socket(serverHostName,port);//			System.out.println("Has connected to the server...");			s.setSoTimeout(3000);//				send the word which need to translate to Dicserver			BufferedWriter writer=		           new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));		    writer.write(A);		    writer.newLine();		    writer.flush();//		  read the result from the data stream		    BufferedReader reader=		           new BufferedReader(new InputStreamReader(s.getInputStream()));		   while((line = reader.readLine())!=null){				translate.append(line);//read each line of the specific web page			}		    reader.close();		    writer.close(); 		    s.close();		}                catch(UnknownHostException ce){			this.jLabel7.setVisible(true);		}		catch(ConnectException ce){			this.jLabel7.setVisible(true);		}		catch(SocketTimeoutException e){			this.jLabel8.setVisible(true);		}		catch(IOException ioe) { 		System.out.println("IOException: " + ioe); ioe.printStackTrace(); 		}		return translate.toString();	}       public static void main(String args[]) {        java.awt.EventQueue.invokeLater(new Runnable() {            public void run() {                new DicClient().setVisible(true);            }        });    }        // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.JButton jButton1;    private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jLabel2;    private javax.swing.JLabel jLabel3;    private javax.swing.JLabel jLabel4;    private javax.swing.JLabel jLabel5;    private javax.swing.JLabel jLabel6;    private javax.swing.JLabel jLabel7;    private javax.swing.JLabel jLabel8;    private javax.swing.JScrollPane jScrollPane2;    private javax.swing.JSeparator jSeparator1;    private javax.swing.JTextArea jTextArea1;    private javax.swing.JTextField jTextField1;    private javax.swing.JTextField jTextField2;    private javax.swing.JTextField jTextField3;    // End of variables declaration//GEN-END:variables    private String serverHostName = "";    private int port = 0;    private final int width=320,height=220;    Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -