首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

界面解决办法

2012-01-08 
界面packagemeetingimportjava.awt.*importjava.awt.event.*importjavax.swing.*importjava.net.*pub

界面
package   meeting;

import   java.awt.*;
import   java.awt.event.*;
import   javax.swing.*;
import   java.net.*;
          public   class   MeetFrame   extends   JFrame{
          private   JPanel   contentPane;
          private   TextField   textField1=new   TextField();
          private   TextField   textField2=new   TextField();
          private   TextField   textField3=new   TextField();
          private   Button   button1=new   Button();
              private   Button   button2=new   Button();
              private   Label   label1=new   Label();
              private   Label   label2=new   Label();
              private   Label   label3=new   Label();
              private   TextArea   textArea1=new   TextArea();
              int   port;
              MulticastSocket   socket;
              InetAddress   group;
              DatagramPacket   packet;
              String   user=new   String();
              boolean   connected=false;
        /**   Creates   a   new   instance   of   Main   */
        public   MeetFrame()   {
                 
                enableEvents(AWTEvent.WINDOW_EVENT_MASK);
                try{
                         
                toInit();
                }catch(Exception   e)
                {
                e.printStackTrace();
                }
        }
       
      private   void   toInit()   throws   Exception
      {
      contentPane=(JPanel)   this.getContentPane();
      contentPane.setLayout(null);
      this.setSize(new   Dimension(300,300));
      this.setTitle( "netmeeting ");
      textField1.setBounds(new   Rectangle(90,260,200,20));
      textField2.setBounds(new   Rectangle(90,20,65,20));
      textField3.setBounds(new   Rectangle(210,20,80,20));
      textField1.setText( "224.0.0.1 ");
      label1.setBounds(new   Rectangle(20,260,60,20));
      label1.setBounds(new   Rectangle(10,20,60,20));
      label1.setBounds(new   Rectangle(160,20,40,20));
      label1.setText( "input   message ");


      label2.setText( "input   ip ");
      label3.setText( "input   user ");
      textArea1.setBounds(new   Rectangle(20,60,320,180));
      textArea1.setEditable(false);
      button1.setLabel( "SEND   MESSAGE ");
      button1.setBounds(new   Rectangle(20,60,320,180));
      button1.addActionListener(new   java.awt.event.ActionListener()   {
      public   void   actionPerformed(ActionEvent   e)   {
                            button1_actionPerformed(e);
                      };
              });
              ///
              button2.setLabel( "GO   TNTO   meeting ");
              button2.setBounds(new   Rectangle(20,60,320,180));
              button2.addActionListener(new   java.awt.event.ActionListener()   {
                      public   void   actionPerformed(ActionEvent   e)   {
                            button2_actionPerformed(e);
                      };
              });
              contentPane.add(textField1,null);
              contentPane.add(textField2,null);
              contentPane.add(textField3,null);
              contentPane.add(button1,null);
              contentPane.add(button2,null);
              contentPane.add(label1,null);
              contentPane.add(label2,null);
              contentPane.add(label3,null);
              contentPane.add(textArea1,null);
      }
        protected   void   processWindowEvent(WindowEvent   e)
        {
        super.processWindowEvent(e);
        if(e.getID()==WindowEvent.WINDOW_CLOSING){
        System.exit(0);
        }
        }
        public   void   createMeetAndJoin()
        {
        String   str1=new   String();
        String   str2=new   String();
        str1=textField2.getText();
        str2=textField3.getText();
        if(str1.compareTo( " ")!=0&&str2.compareTo( " ")!=0)
        {
        try{
                user=str2;
                port=1234;
                socket=new   MulticastSocket(port);


                socket.setTimeToLive(5);
                socket.joinGroup(group);
                label2.setText( "IN   GROUP ");
                connected=true;
       
      }
        catch(Exception   e1)
        {
        System.out.println( "eRROR1 "+e1);
        }
        byte[]   data=new   byte[512];
        packet=new   DatagramPacket(data,data.length,group,port);
        try
        {
        String   str=new   String();
        str=user+ "IN   GROUP "+textField2.getText();
        data=str.getBytes();
        packet.setData(data);
        socket.send(packet);
        }
        catch(Exception   e)
        {
        System.out.println( "error2 "+e);
        }
    //     Listener   lister=new   Listener(socket,textArea1);
      //   lister.start();
        }
        else
        {
        textArea1.setText( "please   check   ip ");
        }
        }
        public   void   sendData()
        {
        try
        {
        String   str=new   String();
        str=user+ ": "+textField1.getText();
        byte[]   data=str.getBytes();
        packet.setData(data);
        socket.send(packet);
        }
        catch(Exception   e1)
        {
        System.out.println( "error3 "+e1);
        }
        }
        void   button1_actionPerformed(ActionEvent   e)
        {
        sendData();
        }
        void   button2_actionPerformed(ActionEvent   e)
        {
        if(!connected)
        {
        createMeetAndJoin();
        }
        else
        {
        textArea1.setText( "please   send   messges! ");
        }
        }
}


我在另一个类的主方法中,NEW   一这个类的实例,但并不显示界面。也没有任何错误.你可以拷到自己机子上试一下,帮我把界面弄出来。谢谢!

[解决办法]
我试了有界面显示出来啊,就这几行代码:
import meeting.MeetFrame;
public class MeetFrameTest
{
public static void main(String[] args)


{
MeetFrame m = new MeetFrame();
m.setVisible(true);
}
}
你是不没有设setVisible方法为true啊
[解决办法]
做界面的程序有一个重要的事情就是要让你的界面的可见属性为真,这样才能看到你想要的效果.要不然是看不到的,但是你的后台已经有一个javaw.exe进程来专门运行这个程序了.所以你要在界面布置时候将方法setVisible(boolean);设成true

热点排行