日期:2014-05-20  浏览次数:20686 次

eclipse调试 true typeFont.open()行:不可用
每次以调试运行的方式运行 窗口界面的程序的时候都会出现下面的错误,导致不能进行调试,但是运行方式打开,可以正常运行,以调试运行的方式就会出现问题。今天测试的书中源码贴上了,问题的图片也贴上来,期望可以得到指点。

Java code

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class BuggyButtonTest {
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                BuggyButtonTestFrame frame = new BuggyButtonTestFrame();

                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
            }
        });
    }
}


class BuggyButtonTestFrame extends JFrame {
    public BuggyButtonTestFrame() {
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        setTitle("BuggyButtonTest");
        setLocation(200, 300);
        
        // add panel
        BuggyButtonPanel panel = new BuggyButtonPanel();

        add(panel);
    }
    
    private int DEFAULT_WIDTH = 200;
    private int DEFAULT_HEIGHT = 300;
    
}


class BuggyButtonPanel extends JPanel {
    public BuggyButtonPanel() {
        ActionListener listener = new ButtonListener();
        
        JButton yellowButton = new JButton("yellow");

        add(yellowButton);
        yellowButton.addActionListener(listener);
        
        JButton redButton = new JButton("red");

        add(redButton);
        redButton.addActionListener(listener);
        
        JButton blueButton = new JButton("blue");

        add(blueButton);
        blueButton.addActionListener(listener);
    }
    
    private class ButtonListener implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            String arg = event.getActionCommand();

            if (arg.equals("yellow")) {
                setBackground(Color.yellow);
            } else if (arg.equals("red")) {
                setBackground(Color.red);
            } else if (arg.equals("blue")) {
                setBackground(Color.blue);
            }
        }
    }
}




------解决方案--------------------
楼主可以尝试看一下用下面这种方式看是否能够解决问题。
http://topic.csdn.net/u/20111116/14/34edd75d-b262-4171-b1e1-ba837da7b39b.html