繁体   English   中英

如何在Java中将jpanel添加到jpanel

[英]how to add jpanel to jpanel in java

将jpanel添加到现有jpanel时出现问题!

我想要jlist在中心位置和jbuttom在南部位置!

我可以看到jlist,但是jbuttom不会显示!

我正在使用Eclipse 3.0版本。

这是我的代码:

package classes;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.util.LinkedList;

import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

public class JPanelDecorator extends JPanel implements ActionListener
{
    private static final long serialVersionUID = 1L;
    private JList<String> list = null;
    private JButton Change=null;

    public JPanelDecorator()
    {
        super();
        setLayout(new BorderLayout());       
        setSize(450 ,400);
        String animals_list[] = new String[AquaPanel.swims.size()];
        LinkedList<Swimmable> ir = new LinkedList<Swimmable>(AquaPanel.swims);
        for(int i=0;i<ir.size();i++)
        {
            animals_list[i]=(i+1+". "+ir.get(i).toString());
        }

        list = new JList<String>(animals_list );
        list.setFont(new Font("Tahoma",Font.BOLD,15));
        list.setSize(450, 300);
        add(list,BorderLayout.CENTER);

        Change = new JButton("Change Color");
        Change.addActionListener(this);
        add(Change,BorderLayout.CENTER);
        repaint();
    }
    @Override
    public void actionPerformed(ActionEvent e) {


    }

}

请帮忙!

您有一个细微的错误。 JPanelDecorator的构造函数中,您可以:

public JPanelDecorator()
{
    //....
    add(list,BorderLayout.CENTER);
    //...
    add(Change,BorderLayout.CENTER); // center again...
    //...
}

但是您需要的是:

public JPanelDecorator()
{
    //....
    add(list,BorderLayout.CENTER);
    //...
    add(Change,BorderLayout.SOUTH); // south
    //...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM