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

📄 reportdialog.java

📁 MSN聊天软件Java版是一个韩国人做的java版的msn程序。可以学习参考一下。
💻 JAVA
字号:
/* * @(#)ReportDialog.java * * Copyright (c) 2002, Jang-Ho Hwang * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 	1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 	2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * 	3. Neither the name of the Jang-Ho Hwang nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * *    $Id: ReportDialog.java,v 1.2 2002/03/13 09:40:39 xrath Exp $ */package rath.jmsn.ui;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.net.*;import java.io.*;import rath.msnm.MSNMessenger;import rath.msnm.entity.MsnFriend;import rath.jmsn.ToolBox;import rath.jmsn.util.Msg;/** * * @author Jang-Ho Hwang, rath@linuxkorea.co.kr * @version $Id: ReportDialog.java,v 1.2 2002/03/13 09:40:39 xrath Exp $ */public class ReportDialog extends DefaultDialog implements ToolBox{	public static final String REPORT_BUG = "BUG";	public static final String REPORT_FEATURE = "FEATURE REQUEST";	private MSNMessenger msnm = null;	private JTextField lnField = null;	private JTextField fnField = null;	private JTextField subjectField = null;	private JTextArea contentArea = null;	private String kind;	public ReportDialog( Frame owner, MSNMessenger msnm, String title, String kind )	{		super( owner );		this.msnm = msnm;		this.kind = kind;		setTitle( title );		setModal( false );		createUI();	}	private void createUI()	{		setSize( 350, 300 );		JPanel panel = (JPanel)getContentPane();		panel.setLayout( new BorderLayout() );		panel.add( createMainPanel(), "Center" );		panel.add( createBottomPanel(), "South" );	}	private JPanel createMainPanel()	{		JPanel panel = new JPanel();		BoxLayout box = new BoxLayout(panel, BoxLayout.Y_AXIS);		panel.setBorder( BorderFactory.createEmptyBorder(5,5,5,5) );		panel.setLayout( box );		JPanel lnPanel = new JPanel(new BorderLayout());		lnPanel.setMaximumSize( new Dimension(Short.MAX_VALUE, 26) );		JLabel l0 = new JLabel(Msg.get("label.loginname"));		l0.setFont( FONT );		lnField = new JTextField( 20 );		lnField.setFont( FONT );		lnPanel.add( l0, "West" );		lnPanel.add( lnField, "Center" );		panel.add( lnPanel );		panel.add( createDummyPanel(3) );		JPanel fnPanel = new JPanel(new BorderLayout());		fnPanel.setMaximumSize( new Dimension(Short.MAX_VALUE, 26) );		JLabel l1 = new JLabel(Msg.get("label.friendlyname"));		l1.setFont( FONT );		fnField = new JTextField( 20 );		fnField.setFont( FONT );		fnPanel.add( l1, "West" );		fnPanel.add( fnField, "Center" );		panel.add( fnPanel );		MsnFriend me = msnm.getOwner();		if( me!=null )		{			lnField.setText( me.getLoginName() );			lnField.setEnabled( false );			fnField.setText( me.getFormattedFriendlyName() );			fnField.setEnabled( false );		}		panel.add( createDummyPanel(3) );		JPanel sjPanel = new JPanel(new BorderLayout());		sjPanel.setMaximumSize( new Dimension(Short.MAX_VALUE, 26) );		JLabel l2 = new JLabel(Msg.get("label.subject"));		l2.setFont( FONT );		subjectField = new JTextField( 20 );		subjectField.setFont( FONT );		sjPanel.add( l2, "West" );		sjPanel.add( subjectField, "Center" );		panel.add( sjPanel );		contentArea = new JTextArea();		JScrollPane pane = new JScrollPane(contentArea);		pane.setBorder( BorderFactory.createLineBorder( Color.black, 1 ) );		panel.add( createDummyPanel(3) );		panel.add( pane );		return panel;	}	private JPanel createDummyPanel( int height )	{		JPanel panel = new JPanel();		panel.setMaximumSize( new Dimension(Short.MAX_VALUE, height) );		return panel;	}	private JPanel createBottomPanel()	{		JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER, 10, 5));		final JButton sendButton = new JButton(Msg.get("button.submit"));		sendButton.setFont( FONT );		sendButton.setMnemonic('S');		sendButton.addActionListener( new ActionListener() {			public void actionPerformed( ActionEvent e )			{				sendButton.setEnabled( false );				sendImpl();				dispose();			}		});		JButton cancelButton = new JButton(Msg.get("button.cancel"));		cancelButton.setFont( FONT );		cancelButton.setMnemonic('C');		cancelButton.addActionListener( new ActionListener() {			public void actionPerformed( ActionEvent e )			{				dispose();			}		});		panel.add( sendButton );		panel.add( cancelButton );		return panel;	}	private String encode( String str ) throws UnsupportedEncodingException	{		return rath.msnm.msg.MimeUtility.getURLEncodedString( str, "UTF-8" );	}	protected void sendImpl()	{		try		{			URLConnection con = new URL("http://xrath.com/report.jsp").openConnection();			con.setDoInput( true );			con.setDoOutput( true );			con.setRequestProperty( "Content-Type", "application/x-www-form-urlencoded" );			OutputStream out = con.getOutputStream();			DataOutputStream dos = new DataOutputStream( out );			dos.writeBytes( "ln=" + encode(lnField.getText()) +				"&fn=" + encode(fnField.getText()) +				"&subject=" + encode(subjectField.getText()) +				"&kind=" + kind +				"&os=" + System.getProperty("os.name") +				"&jvm=" + System.getProperty("java.vm.version") +				"&content=" + encode(contentArea.getText()) + "\r\n\r\n" );			dos.flush();			InputStream in = con.getInputStream();			BufferedReader br = new BufferedReader( new InputStreamReader(in) );			String buf = null;			while( (buf=br.readLine())!=null );			in.close();			out.close();			dos.close();			br.close();		}		catch( Exception e )		{			e.printStackTrace();		}	}}

⌨️ 快捷键说明

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