簡體   English   中英

GUI 上的方法聲明無效,需要返回類型

[英]invalid method declaration, return type required, on a GUI

因此,我試圖制作一個簡單的 GUI,當您單擊其中的按鈕時,它會上升一個。 但是,當我嘗試運行測試 GUI 時出現此錯誤:錯誤。 這是代碼

import javax.swing.JFrame;
import javax.swing.BorderFactory;
import javax.swing.JPanel;


public class Main {

public GUI() {

  JFrame frame = new JFrame();
  JPanel panel = new JPanel();
  panel.setBorder(borderFactory.createEmptyBorder(30, 30, 10, 30));
  panel.setLayout(new GridLayout(0, 1));

  frame.add(panel, BorderLayout.CENTER);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setTitle("Clicks");
  frame.pack();
  frame.setVisible(true);

}

  public static void main(String[] args) {

    new GUI();

  }
}
public class Main {

public GUI() {

GUI似乎打算用作構造函數,並且構造函數必須與 class 具有相同的名稱。 但是GUIMain都不是 class / 構造函數的好的描述性名稱。 該名稱應該描述 class 實際上是。 所以這里的東西可能不僅更好,而且應該適用於這種情況。

public class ClicksGUI {

public ClicksGUI() {

請注意,如果更改 class / 構造函數的名稱,則main方法中的引用也需要更改以反映這一點。

如果您希望GUI成為 function,您必須指定一個return type (我想您希望在您的情況下為void ),並像常規 function 一樣調用它,而不是創建 ZA8CFDE6331BD59EB26696F8911ZCB:

public class Main {

public static void GUI() {

  JFrame frame = new JFrame();
  JPanel panel = new JPanel();
  panel.setBorder(borderFactory.createEmptyBorder(30, 30, 10, 30));
  panel.setLayout(new GridLayout(0, 1));

  frame.add(panel, BorderLayout.CENTER);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setTitle("Clicks");
  frame.pack();
  frame.setVisible(true);

}

  public static void main(String[] args) {

    GUI();

  }
}

添加void作為 GUI 方法的返回類型

public class Main {

public static void GUI() {
.....
}
}

並將其作為 main() 方法中的方法調用。

public static void main(String[] args) {

    GUI();

  }

Java 需要方法的返回類型。 如果您不想指定返回類型,請改用構造函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM