我正在使用 JTables 進行練習,并且正在查看 Oracle 的 J 7 庫中 JTables 的檔案。我正在做的是獲取用戶輸入并將其顯示在 JTable 中,很簡單。
我目前的代碼是:
public class tablePractice {
JFrame frame=new JFrame("Table Test");
JPanel panel=new JPanel(new FlowLayout(FlowLayout.CENTER));
JLabel username=new JLabel("Username: ");
JTextField nameField=new JTextField(10);
JButton add=new JButton("Add");
JTable table=new JTable();
JScrollPane scrollPane=new JScrollPane();
DefaultTableModel model=new DefaultTableModel();
ArrayList<String> list=new ArrayList<String>();
public void setInterface() {
frame.setSize(300,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(panel);
panel.add(username);
panel.add(nameField);
add.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(e.getSource()==add) {
list.add(nameField.getText());
model.addRow(list.toArray());
System.out.println(list);
}
}
});
panel.add(add);
table.setModel(model);
table.add(scrollPane);
panel.add(table);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
public static void main(String[] args) {
tablePractice run=new tablePractice();
run.setInterface();
}
}
該串列列印在控制臺上,但我沒有 JTable。我錯過了什么嗎?
uj5u.com熱心網友回復:
JTable需要包含在滾動窗格中
scrollPane.setViewportView(table);
// table.add(scrollPane); don't do this
panel.add(scrollPane);
您還需要為模型定義列。例如
model.addColumn("Name");
然后添加一行
// model.addRow(list.toArray()); varible-length row - don't do this
model.addRow(new Object[] { nameField.getText() });
uj5u.com熱心網友回復:
你想展示它嗎?然后,您只需要使用輸入文本創建一個新標簽并將此標簽添加到您的面板。
add.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(e.getSource()==add) {
model.addRow(list.toArray());
JLabel text = new JLabel(nameField.getText());
panel.add(text);
}
}
});```
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/511842.html
標籤:爪哇摇摆表
上一篇:無法顯示按鈕
