原因你得到這個問題訪問test
:
當你運行一個Java應用程序時,應用程序的main
函數將被調用。因此,每個應用程序只能有一個main
函數。
在你的情況下,你有2 main
函數。把它想成2種不同的應用程序。以下情形正在發生:
爲了您的情況來解決這個問題,試試這個:
Test.java
public class Test
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setVisible(true);
frame.setSize(600, 600);
// By passing the frame as a reference, the function
// will be able to add the button to this frame.
Test2.addButton(frame);
}
}
Test2.java
public class Test2
{
public static void addButton(JFrame frame)
{
JButton button = new JButton();
frame.add(button);
}
}
在這裏,我做了一個Driver
類,將在Test2
和MyFrame
類連接在一起。
驅動程序。java的
public class Driver
{
public static void main(String[] args)
{
MyFrame frame = new MyFrame();
Test2.addButton(frame);
}
}
MyFrame.java
public class MyFrame extends JFrame
{
public MyFrame()
{
this.setSize(600, 600);
this.setVisible(true);
}
}
Test2.java
public class Test2
{
public static void addButton(JFrame frame)
{
JButton button = new JButton();
frame.add(button);
}
}
您需要延長'test'作爲'公共類測試擴展的JFrame {'和在使用它之前創建一個'test2'的實例:'test frame = new test()'。 –
1)請參閱[檢測/修復代碼塊的懸掛緊支架](http://meta.stackexchange.com/q/251795/155831),以解決問題,我不再擔心修復問題。 2)請學習常用的Java命名規則(命名約定 - 例如'EachWordUpperCaseClass','firstWordLowerCaseMethod()','firstWordLowerCaseAttribute',除非它是'UPPER_CASE_CONSTANT')並且一致地使用它。 –