によってFacebookのポストのようなカードビューを作成したい私は以下のコードでJPanelの配列を使用して、カードビューを作成したいが、それは、コードを動作していないようです。は、Java JPanelの配列
これは、Aと同じになりますfacebook post web私はguiでそれを作りたかった
あなたはまた、私に大きな助けになる同じ操作を実行するための他のテクニックを提案するかもしれません。
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)
'contentPane.setLayout(ヌル)あなたのパネルを初期化する必要があります;'と 'パン[i]を.setBounds(28、22 + J 、522、149); 'あなたのGUIは遅かれ早かれ、Swingは[レイアウトマネージャ](https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)、ピクセルパーフェクトGUIは幻想であり、SwingはさまざまなPLAF、OS、画面サイズと解像度で動作しなければならない将来のヌルレイアウトの使用に関連する問題を解決しようとする問題を解決し、それらを解決しようとすると多くのトラブルや頭痛を与えるでしょう... – Frakcool
... [Nullレイアウトは悪です](http:// www .leepoint.net/GUI/layouts/nulllayout.html)と[なぜSwingでnullレイアウトを使用するのが嫌なのですか?](http://stackoverflow.com/questions/6592468/why-is-it-frowned-使用中のヌル・レイアウト・イン・スイング)。また、 'JFrame'から拡張するべきではありません。[この質問](http://stackoverflow.com/questions/41252329/java-swing-using-extends-jframe-vs-calling-it-inside-of-クラス)とその答えがあまりにも多い – Frakcool
ヌルレイアウトを避けるため、ピクセルの完全なレイアウトは現代のUIデザイン内の錯覚です。コンポーネントの個々のサイズに影響する要因は多すぎますが、いずれも制御できません。スイングはコアのレイアウトマネージャーと連携するように設計されており、これらを破棄することで問題や問題の終わりがなくなります。 – MadProgrammer