私はあなたからそれを選別しようとしています。
Jlistに時間文字列を追加しようとすると、Jscrollペインを更新します。
私は同じようにあなたのデザインビューを作成する簡単な
を通過します:
Jpanel1(card layout)
|
----> Jscrollpane1
|
------>Jpanel2
|
--------> Your Jlist will be here on dynamic runtime
、あなたはJListのの代わりにパネルを管理することができます。
しかし、ここで私はリストに行く
public void getUpdateOldWorkTimeList()
{
List<String> workTimeList;
SwingWorker<Void, Void> mySwingWorker = new SwingWorker<Void, Void>() {
@Override
protected Void doInBackground() throws Exception {
workTimeList=getMyTimeList(); // here you put your work time array
Thread.sleep(100);
return null;
}
};
mySwingWorker.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals("state")) {
if (evt.getNewValue() == SwingWorker.StateValue.DONE) {
jPanel2.removeAll();
jPanel2.revalidate();
jPanel2.repaint();
for (int i = 0; i < workTimeList.size(); i++) {
jPanel2.add(new ModelJList()).setVisible(true);
}
}
}
});
jPanel3.setLayout(new model.WrapLayout(FlowLayout.CENTER, 1, 0));
jPanel1.setBackground(new Color(0, 0, 0, 0));
jScrollPane1.setBackground(new Color(0, 0, 0, 0));
i
jScrollPane1.getVerticalScrollBar().setUnitIncrement(16);
int remainScroll=jScrollPane1.getVerticalScrollBar().getMaximum()- jScrollPane1.getVerticalScrollBar().getModel().getExtent();
jScrollPane1.getVerticalScrollBar().setValue(remainScroll);
jPanel1.removeAll();
jPanel1.add(jScrollPane1);
jPanel1.revalidate();
jPanel1.repaint();
}
2の事は思い出さなければなりません:
リストのモデルクラスを:あなたは、実装する必要があります。(あなたのルックはあなたが欲しいと感じるように)。
リスト変換への配列へのgetMyTimeList()メソッド。
すでにチャットアプリケーション用に実装して、送信側と受信側のチャットを追加しました。
すべて最高
JList APIを読んでください。ここでは、「How to Use Lists」のリンクに実際のサンプルが含まれています。 – camickr
* "私はすべてを試してきましたが、これまでには何も働いていませんでした" *少なくとも1つはうまくいくはずです。 BTW - リストを更新するときは、リスト***または***スクロールペインのいずれかに触れないでください。ちょうど 'ListModel'を変更してください。それ以外は自動的に更新されます。 –
ありがとう@AndrewThompson、DefaultListModelの使い方を理解しました。 –