如果我添加一個JTable
到JPanel
然後添加JPanel
到JScrollPane
,每當JTable
獲得焦點,滾動窗格自動滾動到最底層,這是不好的。JScrollPane的問題
我有這樣做的很多原因,所以我希望有某種解決方案來阻止這種自動滾動。
OH,這就是踢球者......它似乎只在通過JNLP/WebStart
運行應用程序時纔會發生,並且它不會在Eclipse中執行,這更令人沮喪。
這裏有一個簡單的例子,如果你通過JLNP
啓動,單擊文本框,單擊表,然後將其自動滾動至底部:
import java.awt.*;
import javax.swing.*;
public class ScrollDemo extends JPanel{
private static final long serialVersionUID = 1L;
public ScrollDemo()
{
this.setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
JTable table = new JTable(100,6);
this.add(new JTextField());
JPanel panel = new JPanel();
panel.add(table);
JScrollPane scroll = new JScrollPane(panel);
this.add(scroll);
}
/**
* Create the GUI and show it. For thread safety, this method should be
* invoked from the event-dispatching thread.
*/
private static void createAndShowGUI() {
// Create and set up the window.
JFrame frame = new JFrame("ScrollDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create and set up the content pane.
JComponent newContentPane = new ScrollDemo();
newContentPane.setOpaque(true); // content panes must be opaque
frame.setContentPane(newContentPane);
frame.setPreferredSize(new Dimension(500, 500));
// Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
// Schedule a job for the event-dispatching thread:
// creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
* 「嗯,謝謝你好看!」 *無後顧之憂。 ..你有問題嗎?你有代碼,JNLP文件等? –
我的猜測是,它是輕彈表中的「選擇項」,這是它把在最後一個條目,咋一看,我不能找到一種方法,所選條目設置回後的第一個不幸的是,你知道一種方法來改變選定的條目嗎? –