GroupLayout 没有给出所需的结果
GroupLayout does not give required result
我在这里添加了按钮,但它们都没有显示在我的框架上
当我单独添加按钮时,它们也会相互重叠
我应该怎么办
有人能在我的代码中找到问题吗
我被推荐到这个网站:https://weblogs.java.net/blog/tpavek/archive/2006/02/getting_to_know_2.html
代码:
导入 java.awt.;
导入 javax.swing.;
导入 java.awt.event.;
导入静态 javax.swing.GroupLayout.Alignment.;
class Abc extends JFrame
{
JButton b[];
Abc()
{
b=new JButton[5];
JPanel jp=new JPanel();
for(int i=0;i<b.length;i++)
{
b[i]=new JButton();
}
GroupLayout layout=new GroupLayout(jp);
jp.setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setHorizontalGroup(layout.createSequentialGroup()
.addComponent(b[0])
.addComponent(b[1])
.addComponent(b[2])
.addGroup(layout.createParallelGroup(LEADING)
.addComponent(b[3])
.addComponent(b[4]))
);
layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(BASELINE)
.addComponent(b[0])
.addComponent(b[1])
.addComponent(b[2])
.addComponent(b[3]))
.addComponent(b[4])
);
setTitle("kuvh b");
setSize(1000,1000);
//for(int i=0;i<5;i++)
//{
add(b[0]);
add(b[2]);
pack();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel(
"javax.swing.plaf.metal.MetalLookAndFeel");
// "com.sun.java.swing.plaf.motif.MotifLookAndFeel");
//UIManager.getCrossPlatformLookAndFeelClassName());
} catch (Exception ex) {
ex.printStackTrace();
}
new Abc().setVisible(true);
}
});
}
}
代码结果如下,这不是我想要的。请告诉我这个问题的解决方案
如果您想让面板显示在框架中,您必须将面板 jp
添加到框架中。您添加了按钮 0 和 2,但没有添加我可以看到的面板。
我在这里添加了按钮,但它们都没有显示在我的框架上 当我单独添加按钮时,它们也会相互重叠 我应该怎么办 有人能在我的代码中找到问题吗 我被推荐到这个网站:https://weblogs.java.net/blog/tpavek/archive/2006/02/getting_to_know_2.html
代码: 导入 java.awt.; 导入 javax.swing.; 导入 java.awt.event.; 导入静态 javax.swing.GroupLayout.Alignment.;
class Abc extends JFrame
{
JButton b[];
Abc()
{
b=new JButton[5];
JPanel jp=new JPanel();
for(int i=0;i<b.length;i++)
{
b[i]=new JButton();
}
GroupLayout layout=new GroupLayout(jp);
jp.setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setHorizontalGroup(layout.createSequentialGroup()
.addComponent(b[0])
.addComponent(b[1])
.addComponent(b[2])
.addGroup(layout.createParallelGroup(LEADING)
.addComponent(b[3])
.addComponent(b[4]))
);
layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(BASELINE)
.addComponent(b[0])
.addComponent(b[1])
.addComponent(b[2])
.addComponent(b[3]))
.addComponent(b[4])
);
setTitle("kuvh b");
setSize(1000,1000);
//for(int i=0;i<5;i++)
//{
add(b[0]);
add(b[2]);
pack();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel(
"javax.swing.plaf.metal.MetalLookAndFeel");
// "com.sun.java.swing.plaf.motif.MotifLookAndFeel");
//UIManager.getCrossPlatformLookAndFeelClassName());
} catch (Exception ex) {
ex.printStackTrace();
}
new Abc().setVisible(true);
}
});
}
}
代码结果如下,这不是我想要的。请告诉我这个问题的解决方案
如果您想让面板显示在框架中,您必须将面板 jp
添加到框架中。您添加了按钮 0 和 2,但没有添加我可以看到的面板。