私はJavaの初心者です(1ヶ月の経験)が、今のところ好きです!
作成していないPlanningアプリケーションで機能を実装する必要があります。スクロールしている間に固定された日数を含むパネル(Excel風のヘッダー)を作成する必要があります。 TopPanel
(JPanel
)(その画像に表示されないとWindowPanel
(JPanel
)に含まJavaのJScrollPaneでスクロールしながらJPanelを固定する方法は?
回答を探している間、私はほとんどJTable
を使用する方法を見つけることが、問題は、私はJPanel
又はMainPanel
を使用することで、JPanel
を延びているが、既に固定されています)。 私はsetColumnHeaderView()
メソッドを使用していますが、これは唯一の結果を示すものです。この方法で
//MainWindow
MainPanel mainPanel = new MainPanel(model);
mainPanel.init(); //fill the mainPanel
windowPanel.add(mainPanel);
JViewport blabla = new JViewport();
blabla.setPreferredSize(mainPanel.getPreferredSize());
blabla.setView(mainPanel);
//JViewport blabla2 = new JViewport();
//blabla2.setPreferredSize(windowPanel.getPreferredSize());
scroll = new JScrollPane(windowPanel);
scroll.setColumnHeaderView(blabla);
getContentPane().add(scroll);
this.addMouseListener(new FocusSetterListener());
this.pack();
this.setVisible(true);
、私は右のヘッダを取得するが、何のスクロールバー、および下のパネルは、(ここではWindowPanel
)ちょうど青とどまるません。
//MainWindow
MainPanel mainPanel = new MainPanel(model);
mainPanel.init(); //fill the mainPanel
windowPanel.add(mainPanel);
JViewport blabla = new JViewport();
blabla.setPreferredSize(mainPanel.getPreferredSize());
blabla.setView(mainPanel);
scroll = new JScrollPane(mainPanel);
scroll.setColumnHeaderView(blabla);
getContentPane().add(scroll);
this.addMouseListener(new FocusSetterListener());
this.pack();
this.setVisible(true);
しかし、ヘッダは青いままで、日ヘッダではありません:私はそれを行う際に努めて埋めMainPanel
を、表示する必要がWindowPanel
の代わりに、実際に
、固定されている、それはヘッダーのすぐ下ですが、他のものはスクロールバーを含めてうまく読み込んでいます。 情報については、以下のパネルがcellPanels呼ばcustomPanelsで形成されている:
私は私が私の目標に近いだと思うが、私は多くのものと完全に働いていた何をテストしました。 私は間違っていることを私に説明してくれる人を探しています。
ありがとうございました!