使用多个包/类的Java Swing
不久前,我在一个主类中编写了一段代码,效果很好。后来,我又在它的单一主菜单中添加了JPanel和JFrame,再次运行良好 现在我正在尝试分解代码并将它们移动到包中 这是我的主要任务 -(src/start/Main.java)- 这是主机 -(src/frames/MainFrame.java)- 这是LogoPanel使用多个包/类的Java Swing,java,swing,Java,Swing,不久前,我在一个主类中编写了一段代码,效果很好。后来,我又在它的单一主菜单中添加了JPanel和JFrame,再次运行良好 现在我正在尝试分解代码并将它们移动到包中 这是我的主要任务 -(src/start/Main.java)- 这是主机 -(src/frames/MainFrame.java)- 这是LogoPanel -(src/frames/LogoPanel.java)- 正如我所说的LogoPanel.createLogoPanel();这就是问题所在。它不接受我的createLog
-(src/frames/LogoPanel.java)-
正如我所说的LogoPanel.createLogoPanel();这就是问题所在。它不接受我的createLogoPanel(JFrame)?将其设置为null根本不会显示面板。不管怎样,我能做到吗 您的
createLogoPanel
采用JFrame
类型参数
但我看不到您在实际调用该方法时传递参数
按照以下思路做一些事情:
JFrame frame = MainFrame.createFrame();
LogoPanel.createLogoPanel(frame);
这个错误似乎表明对基本Java语法和概念缺乏理解。如果你能积累这方面的知识,将来会受益匪浅 它被称为方法参数或参数。我再次希望你考虑我的建议。
package frames;
import javax.swing.JFrame;
public class MainFrame {
public static JFrame createFrame() {
JFrame frame = new JFrame ("App");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setResizable(false);
frame.setBounds(140,140, 1000, 580);
frame.setVisible(true);
frame.setLayout(null);
return frame;
}
}
package frames;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class LogoPanel {
public static JPanel createLogoPanel(JFrame frame) {
JPanel logoPanel = new JPanel ();
logoPanel.setVisible(true);
logoPanel.setBounds(0, 0, 1000, 80);
logoPanel.setBackground(Color.gray);
logoPanel.setLayout(null);
frame.add(logoPanel);
return logoPanel;
}
}
JFrame frame = MainFrame.createFrame();
LogoPanel.createLogoPanel(frame);