cloud9 ide上的无头例外

时间:2016-01-25 21:32:53

标签: java linux cloud9-ide

import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import java.awt.event.*;
public class noteMenu{
    //main menu method
    private static void addContents(Container pane){
        JButton btn;
        pane.setLayout(new GridBagLayout());
        GridBagConstraints gbc = new GridBagConstraints();
        //Insets gbc = new insets(5,3,5,3);
        btn = new JButton("Create a note");
        gbc.gridx = 0;
        gbc.gridy = 0;
        pane.add(btn, gbc);
        //
        btn = new JButton("Open note");
        gbc.gridx = 2;
        gbc.gridy = 2;
        pane.add(btn, gbc);
    }
    private static void mainMenu(){
        JFrame note = new JFrame("CB Note app");
        JFrame.setDefaultLookAndFeelDecorated(true);
        note.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //set up contentpane
        addContents(note.getContentPane());
        note.pack();
        note.setVisible(true);
        note.setSize(500,300);
    }

    //main method
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                mainMenu();
           }
        });
    }
}

然后我编译,我引发了这个异常:

线程中的异常" AWT-EventQueue-0" java.awt.HeadlessException异常: 没有设置X11 DISPLAY变量,但是该程序执行了需要它的操作。         at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)         在java.awt.Window。(Window.java:535)         在java.awt.Frame。(Frame.java:420)         在javax.swing.JFrame。(JFrame.java:218)         在noteMenu.mainMenu(noteMenu.java:23)         在noteMenu.access $ 000(noteMenu.java:5)         在noteMenu $ 1.run(noteMenu.java:37)         在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)         at java.awt.EventQueue.access $ 300(EventQueue.java:103)         at java.awt.EventQueue $ 3.run(EventQueue.java:706)         at java.awt.EventQueue $ 3.run(EventQueue.java:704)         at java.security.AccessController.doPrivileged(Native Method)         at java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:76)         at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)         at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

尝试过sudo apt-get install default-jdk。但这并没有解决问题。我该怎么办?

1 个答案:

答案 0 :(得分:1)

你可能已经看过这个,但这个问题也回答了你的问题: Running Java GUI apps on Cloud 9

  

无法在Cloud9上运行GUI程序。