JPanel中的java插入按钮
我在Java中使用swing,我需要创建一个JButton并将其放在一个JPanel中
我学习了里德教程,我做到了:
public void crearNuevaMiga(String nombre)
{
JButton nuevo = new JButton(nombre);
this.MigasDePan.add(nuevo);
nuevo.setVisible(true);
nuevo.setLocation(new Point(migaX, migaY));
System.out.println(nuevo.getLocation().x + " "+ nuevo.getLocation().y);
migaX = migaX-avanceMigas;
}
我这样做了,当我调用函数时,我看不到按钮。我给NetBeans的设计者按了一个按钮,得到了X和Y的位置。然后,在变量migaX和migaY中,我把X和Y放在同一个位置,所以按钮需要在同一个位置,但它不在那里
有人知道为什么吗?也许以这种方式放置位置是不正确的
谢谢你抽出时间
编辑:MigasDePan是我的JPanel
# 1 楼答案
下面是一个简单的例子,将JButton放在JPanel中,并将JPanel放在JFrame中。我没有使用任何GUI生成器就创建了这段代码
我在main方法中调用了SwingUtilities invokeLater方法,将Swing组件的创建和使用放在Event Dispatch thread上。Oracle和我坚持要在事件调度线程上启动每个Swing应用程序
我用的是JFrame。必须按照在run方法中调用JFrame方法的顺序调用它们
我用的是JPanel。我把JButt放在JPAND的中间,因为它是JPAND上唯一的组件。
我使用了Swing layout,边界布局。不同的Swing布局用于创建不同的Swing组件布局
下面是简短的、自包含的、可运行的代码
# 2 楼答案
默认情况下,组件的大小为(0,0),因此无需绘制任何内容
当您向可见GUI动态添加按钮时,需要调用布局管理器,以便布局管理器可以确定组件的大小/位置
基本准则是: