我有一个关于java的一般问题。因为我想创建StronaGlowna.java(类),我放置了所有按钮,复选框和其他我要在主类中显示的GUI组件。第一个问题是正确的方法,这是正确的吗?或者更好的方法来做这件事。我的代码看起来像这样:
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class Main extends JFrame {
private static final long serialVersionUID = -4575271483481196192L;
Container pane;
CardLayout layout;
public Main() throws FileNotFoundException, IOException {
layout = new CardLayout();
setLayout(layout);
pane = this.getContentPane();
/*Page: Strona główna */
JPanel newPanel = new JPanel();
pane.add("New", newPanel);
JButton przycisk = new JButton("Przycisk");
newPanel.add(przycisk);
...
在“pane.add(”New“,newPanel)中;”我想显示以下元素:
package aplikacja.glowna;
import javax.swing.JButton;
import javax.swing.JPanel;
public class StronaGlowna {
public void StronaGlownaDisplay() {
JPanel newPanel = new JPanel();
JButton przycisk2 = new JButton("Przycisk");
newPanel.add(przycisk2);
}
}
我可以在main()中导入/显示所有类StronaGlowna,就像PHP中的include一样吗?你对我的想法有什么看法,这是正确的还是我错了?感谢您的帮助和讨论。
答案 0 :(得分:0)
这听起来像Netbeans处理GUI的方式。您可以在http://netbeans.org/kb/docs/java/quickstart-gui.html中查看该文章,它可以帮助您了解GUI的工作原理,因为Netbeans可以为您生成代码。您始终可以导入类并创建对象以访问方法(通常是公共方法)。我认为它不像PHP中的包含。 PHP include喜欢直接包含源代码,但jave不是。
答案 1 :(得分:0)
首先 - 从不,从不,从不,在Main类中编码。从中调用一个方法,然后在另一个类中启动您的员工。当然,不要扩展它。而构造函数也不是一个好主意。所有这些都是不好的做法。现在,进入你的问题,我的建议是你让StronaGlowna扩展JPanel,然后通过公共构造函数获取它的实例,并使用该实例作为JScrollPane的构造函数的参数。这将使scrollPane充当“屏幕”,你可以在其中看到StronaGlowna的内容,这是我所理解的你所追求的。