import java.awt.*;
public class RunFrame extends javax.swing.JFrame 
{
    public RunFrame(String playerName, String opponentName) 
    {
        initComponents();                   
        new ChessBoard();                     
    }
    
    private void quitgameMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
// TODO 将在此处添加您的处理代码:
        System.exit(0);
    }                                                                                    
    
    public static void main(String args[]) 
    {
 /*       java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new RunFrame().setVisible(true);
            }
        });
 */
    }    public class ChessBoard 
    {  
        Graphics g = getGraphics();
        
        public ChessBoard()
        {
            paint(g);
        }
        
        public void paint(Graphics g)
       {
            Toolkit.getDefaultToolkit().beep();
            int i;
            g.drawString("测试字符串", 200, 250);
       }
    }
}// 有一些系统生成的代码没有敲上去
// 程序希望在面版的相应位置输出“测试字符串”

解决方案 »

  1.   

    import java.awt.*;
    import javax.swing.*;public class RunFrame extends JFrame {
    public static void main(String args[]) {
            JFrame frame=new RunFrame();
            JPanel panel=new DrawPanel();
            frame.add(panel); 
            frame.setVisible(true);
        }
        
    }class DrawPanel extends JPanel{
    public void paintComponent(Graphics g) {
    Toolkit.getDefaultToolkit().beep();
    g.drawString("测试字符串", 200, 250);
    }
    }
    你的代码可能因为窗口的初始化大小太小,一开始没有看到。当你调整窗口大小的时候,Frame又调用了paintComponent,你的字就不见了。另外一点,你怎么把窗口显示代码放到事件队列中去了,这时候事件分派线程都没生成,它怎么调用呢?(不懂^_^)