在Mac上使用JFrame和Netbeans

时间:2014-09-30 16:37:00

标签: java macos swing netbeans

我想运行这个代码,它会创建一个带有简单按钮的窗口。该程序将在Mac上运行Netbeans,但问题是它不起作用。这是下面的代码。

    import javax.swing.JFrame;

    public class Test {

    public static JButton button(){
    JButton button = new JButton("random button");
    }

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

    }
    }

请尽快帮我解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:3)

您没有将按钮添加到任何内容或显示JFrame。您的方法返回一个JButton对象,但您没有对此对象执行任何操作。

  • 创建JPanel
  • 将JButton添加到JPanel
  • 将JPanel添加到JFrame
  • 通过调用setVisible(true)
  • 显示JFrame
  • 最重要的是:编写代码并希望它能够神奇地工作并不是学习编程的成功启发式方法。而是阅读Swing教程,您可以找到here

例如

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

public class MyTest {
   public static void main(String[] args) {
      SwingUtilities.invokeLater(new Runnable() {
         public void run() {
            JButton button = new JButton("Button");
            JPanel panel = new JPanel();
            panel.add(button);
            JFrame frame = new JFrame("foo");
            frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            frame.add(panel);
            frame.pack();
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
         }
      });
   }
}