java - 如何在 Mac OS X 上的 Eclipse 中使用 Java Swing?

标签 java eclipse macos swing configuration

我是 Mac OS X 新手,使用的是版本 10.6.5。系统中似乎预装了 JDK 1.6_u22。我已经下载了 Eclipse 3.5.2。

如果我创建一个简单的 hello world,它工作正常,但我无法导入 JFrame 或使用 Swing。我收到的错误消息是:

Access restriction: The type JFrame is not accessible due to restriction on required library /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar

这是我尝试过的简单程序:

import javax.swing.JFrame;

public class Test {

    public static void main(String[] args) {
        new JFrame();
    }
}

如何在 Mac OS X 上的 Eclipse 中使用 Java Swing?

最佳答案

在 Mac OS X 10.5.8、Eclipse 3.4.2 和 Xcode 3.1.4 上,下面的示例使用 Java 1.5 或 Java 1.6 的最新版本进行构建和运行。由于 Xcode 包含 JDK,您使用的是哪个版本的 Mac OS X 和 Xcode?

还要验证您的 Swing 项目是否无意中包含了 SWT。

附录:检查这两个对话框:

Eclipse > Preferences > Java > Build Path
Eclipse > Preferences > Java > Installed JREs

您应该看到对 /System/Library/Frameworks/JavaVM.framework/ 的引用.

import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;

public class X {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(new JPanel() {

            private final int SIZE = 200;
            private final int INSET = 20;

            @Override
            public Dimension getPreferredSize() {
                return new Dimension(SIZE, SIZE);
            }

            @Override
            public void paintComponent(Graphics g) {
                super.paintComponent(g);
                Graphics2D g2 = (Graphics2D) g;

                g2.setColor(Color.blue);
                Line2D line1 = new Line2D.Double(INSET, INSET,
                    getWidth() - INSET, getHeight() - INSET);
                Line2D line2 = new Line2D.Double(getWidth() - INSET,
                    INSET, INSET, getHeight() - INSET);
                g2.setStroke(new BasicStroke(16,
                    BasicStroke.CAP_ROUND,
                    BasicStroke.JOIN_BEVEL));
                g2.draw(line1);
                g2.draw(line2);
            }
        });
        frame.pack();
        frame.setVisible(true);
    }
}

关于java - 如何在 Mac OS X 上的 Eclipse 中使用 Java Swing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4611295/

相关文章:

eclipse - Java 和 Eclipse - 32 与 64 位

python - 读取 ASL 日志文件 - Python

c++ - 调试和发布库及其可执行程序

java - 远程 SOAP Web 服务不断断开连接

java - Android - Java 中的类序列

java - eclipse android sdk更改后不更新代码

ios - 如何阻止 Xcode 在 iphoneos 构建目录中查找 OS X 产品?

java - 如何从 SQL 数据库读取记录并将其显示到 JFrame 上?

c# - 如何通过套接字发送大的 xml 文件

java - 当Spring Boot注释的类位于库中时,如何正确加载它们?