以下是代码:
import javax.swing.*;import java.awt.*; import java.awt.event.*;import java.util.*; 
class MyFrame extends JFrame implements ActionListener
{
JButton button1,button2,button3,button4,button5;
JPanel myjpanel; JTextArea text;Box boxh; JSplitPane mysplit;
Container contentpane;
Mycanvas Mycan=new Mycanvas();
MyFrame()
{
button1=new JButton("添加主席台人员"); button2=new JButton("添加普通与会人员"); button3=new JButton("设置");
button4=new JButton("打印预览"); button5=new JButton("打印");
button1.addActionListener(this);
text=new JTextArea("轻组件",20,20); text.setSize(280,20);
boxh=Box.createHorizontalBox();
  boxh.add(button1);boxh.add(button2);boxh.add(button3);boxh.add(button4);boxh.add(button5);
mysplit=new JSplitPane(JSplitPane.VERTICAL_SPLIT,text,Mycan);
mysplit.setDividerLocation(120);
JFrame jframe=new JFrame("会场排座0.1");
jframe.setSize(480,600);jframe.setBackground(Color.blue);
jframe.setVisible(true);//jframe.pack();
jframe.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{System.exit(0);}
});
contentpane=jframe.getContentPane();
contentpane.add(boxh,BorderLayout.NORTH);
contentpane.add(mysplit,BorderLayout.CENTER);

} public void actionPerformed(ActionEvent e)
{
    String s[]=new String[400];
    int peopleNumber;
if(e.getSource()==button1)
{ String name2=text.getText();String str=new String();
StringTokenizer fenxi=new StringTokenizer(name2,",");
peopleNumber=fenxi.countTokens();
int i=0;
while(fenxi.hasMoreTokens())
{
s[i]=fenxi.nextToken();
str=str+s[i];
//mylabel.setText(str);
i++;
}
Mycan.setname(str);

}
}
}class Mycanvas extends Canvas
{               
String name=new String();
void setname(String str)
{
name=str;
}
public void paint(Graphics g)
{
g.drawString(name,40,40);
}
}
class Huichangpaizuo02
{
public static void main(String args[])
{
new MyFrame();
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【qq6222066】截止到2008-07-19 11:05:19的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:2                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    import java.awt.BorderLayout;
    import java.awt.Canvas;
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.Graphics;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.util.StringTokenizer;
    import javax.swing.Box;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JSplitPane;
    import javax.swing.JTextArea;
    @SuppressWarnings("serial")
    class MyFrame extends JFrame implements ActionListener { JButton button1, button2, button3, button4, button5;
    JPanel myjpanel;
    JTextArea text;
    Box boxh;
    JSplitPane mysplit;
    Container contentpane;
    Mycanvas Mycan = new Mycanvas(); MyFrame() {
    button1 = new JButton("添加主席台人员");
    button2 = new JButton("添加普通与会人员");
    button3 = new JButton("设置");
    button4 = new JButton("打印预览");
    button5 = new JButton("打印");
    button1.addActionListener(this);
    text = new JTextArea("轻组件", 20, 20);
    text.setSize(280, 20);
    boxh = Box.createHorizontalBox();
    boxh.add(button1);
    boxh.add(button2);
    boxh.add(button3);
    boxh.add(button4);
    boxh.add(button5);
    mysplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT, text, Mycan);
    mysplit.setDividerLocation(120);
    JFrame jframe = new JFrame("会场排座0.1");
    jframe.setSize(480, 600);
    jframe.setBackground(Color.blue);
    jframe.setVisible(true);// jframe.pack();
    jframe.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {
    System.exit(0);
    }
    });
    contentpane = jframe.getContentPane();
    contentpane.add(boxh, BorderLayout.NORTH);
    contentpane.add(mysplit, BorderLayout.CENTER);
    } public void actionPerformed(ActionEvent e) {
    String s[] = new String[400];
    int peopleNumber;
    if (e.getSource() == button1) {
    String name2 = text.getText();
    String str = new String();
    StringTokenizer fenxi = new StringTokenizer(name2, ",");
    peopleNumber = fenxi.countTokens();
    int i = 0;
    while (fenxi.hasMoreTokens()) {
    s[i] = fenxi.nextToken();
    str = str + s[i];
    // mylabel.setText(str);
    i++;
    }
    Mycan.setname(str);
    //**************************************************************************************************
    Mycan.repaint();  //加上这句让 Mycan 重新绘制一下自己
    //**************************************************************************************************
    }
    }}class Mycanvas extends Canvas { String name = new String(); void setname(String str) {
    name = str;
    } public void paint(Graphics g) {
    g.drawString(name, 40, 40);
    }}class Huichangpaizuo02 { public static void main(String args[]) {
    new MyFrame();
    }}
      

  3.   

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
            at Mycanvas.paint(Huichangpaizuo.java:106)
            at sun.awt.RepaintArea.paintComponent(RepaintArea.java:248)
            at sun.awt.RepaintArea.paint(RepaintArea.java:224)
            at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:301)
            at java.awt.Component.dispatchEventImpl(Component.java:4489)
            at java.awt.Component.dispatchEvent(Component.java:4243)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
    ad.java:273)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
    java:183)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
    ad.java:173)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)