我想使用 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/