[英]how to add jtable and Jtextpane in single frame in java?
我想显示包含我的课程信息的jtable,它工作正常,因为我显示了一个单独的jtable ....现在的问题是我想在左侧显示jtable(包含我的课程信息),以及一个JtextPane右侧的单个框架,以便用户可以从jtable中选择项目并将其粘贴到Java的右侧(JTextPane)中...........我不知道该怎么做......任何帮助将不胜感激....
提前致谢
从“ 如何使用表”一文中 ,我将从TableSelectionDemo
开始。 它显示了如何响应ListSelectionEvent
更新JTextArea
。
例如:
public class ListTest extends JPanel{
private JTable table;
private String COLUMN1 = "COLUMN1";
private JTextArea myTA;
public ListTest() {
table = new JTable(new Object[][]{{"1"}, {"2"}}, new Object[]{COLUMN1});
TableColumn col = table.getColumn(COLUMN1);
col.setIdentifier(COLUMN1);
col.setHeaderValue("Data");
table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
@Override
public void valueChanged(ListSelectionEvent e){
if (!e.getValueIsAdjusting()){
int selRow = table.getSelectedRow();
final Object data = selRow >= 0 ? table.getModel().getValueAt(selRow, 0) : null;
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
if (data != null){
myTA.setText(data.toString());
}
else{
myTA.setText("");
}
}
});
}
}
});
setLayout(new BorderLayout());
JScrollPane scroll = new JScrollPane(table);
scroll.setPreferredSize(new Dimension(50, 200));
add(scroll, BorderLayout.WEST);
add(new JScrollPane(myTA = new JTextArea()), BorderLayout.CENTER);
}
public static void main(String[] args){
JFrame frame = new JFrame("test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ListTest listTest = new ListTest();
// Add content to the window.
frame.add(listTest);
// Display the window.
frame.pack();
frame.setSize(400, 200);
frame.setVisible(true);
}
}
建议:阅读出色的《 使用Swing组件》教程,几乎每个基本问题都有答案,并且有很多示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.