java - 想要通过 java jpanel 数组创建像 facebook 帖子这样的卡片 View

标签 java arrays swing user-interface awt

我想使用 jpanel 数组和以下代码创建卡片 View ,但它不起作用,代码如下:

这与我想在 gui 上创建的 Facebook 网络帖子相同

您还可以建议我使用其他技术来执行相同的操作,这将是一个很大的帮助。

import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JScrollPane;

public class test extends JFrame {

    private JPanel contentPane;

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    test frame = new test();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

public test() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 587, 391);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);


    JPanel[] pan = new JPanel[5];
    int j= 0;
    for(int i= 0;i<5;i++)
    {
        pan[i].setBounds(28, 22+j, 522, 149);
        contentPane.add(pan[i]);
        pan[i].setVisible(true);    
        j= j+160;

    }


}
}

错误

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

最佳答案

您需要初始化面板

for(int i= 0;i<5;i++)
{
    pan[i] = new JPanel(); // this line missing
    pan[i].setBounds(28, 22+j, 522, 149);
    contentPane.add(pan[i]);
    pan[i].setVisible(true); // not required
    pan[i].setBorder(new LineBorder(Color.BLACK)); // to see bounds of your panels
    j= j+160;
}

关于java - 想要通过 java jpanel 数组创建像 facebook 帖子这样的卡片 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41876287/

相关文章:

java - 从 JTextArea 中删除边框

java - 从节点选择中选择节点

java - 序列化具有不可序列化父类的对象

java - 如何测量通过 netbeans 中的 tomcat 运行的 Java Web 应用程序中的 CPU 和内存

javascript - 将嵌套对象/数组的对象转换为像 JavaScript 中那样的数组

java - 尝试连接到串行端口时使用 javax.swing.SwingWorker 时出现问题

Java 自定义按钮(不是 JButton)问题

java - MongoDB Java 驱动程序 : The type com. mongodb.client.model.InsertOneOptions 无法解析。它是从所需的 .class 文件间接引用的

javascript - 迭代并比较两个对象数组的属性

Java 8 Lambda 将 Number[][] 转换为 double[][]