gpt4 book ai didi

java - 获取选定的行

转载 作者:行者123 更新时间:2023-11-30 06:35:25 24 4
gpt4 key购买 nike

你好,我想选择一行,点击按钮后我想显示这一行!

public class TableDemo extends JPanel {

static List<String[]> rosterList = new ArrayList<String[]>();
int[] rowIndices;

public TableDemo() {
super(new BorderLayout(3, 3));

final JTable table = new JTable(new MyTableModel());
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
table.setFillsViewportHeight(true);

final JButton button = new JButton("Buy it");

JPanel buttonCenter = new JPanel(new FlowLayout(FlowLayout.CENTER));

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
if (table.getColumnSelectionAllowed()
&& !table.getRowSelectionAllowed()) {
// Column selection is enabled
// Get the indices of the selected columns
int[] vColIndices = table.getSelectedColumns();
} else if (!table.getColumnSelectionAllowed()
&& table.getRowSelectionAllowed()) {
// Row selection is enabled
// Get the indices of the selected rows
rowIndices = table.getSelectedRows();
}
if (rowIndices.length > 0) {
for (int i = 0; i <= rowIndices.length; i++) {
System.out.println(rowIndices[i]);
}
}
}
});
}
});

buttonCenter.add(button);
add(buttonCenter, BorderLayout.SOUTH);

//Create the scroll pane and add the table to it.
JScrollPane scrollPane = new JScrollPane(table);

//Add the scroll pane to this panel.
add(scrollPane, BorderLayout.CENTER);
//create a button

// add a nice border
setBorder(new EmptyBorder(5, 5, 5, 5));
}

class MyTableModel extends AbstractTableModel {

private String[] columnNames = {
"Κωδικός", "Ποσότητα", "Τιμή", "Περιγραφή", "Μέγεθος", "Ράτσα"
};

public int getColumnCount() {
return columnNames.length;
}

public int getRowCount() {
return rosterList.size();
}

@Override
public String getColumnName(int col) {
return columnNames[col];
}

public Object getValueAt(int row, int col) {
return rosterList.get(row)[col];
}
}

private static void createAndShowGUI() {
//Create and set up the window.

JFrame frame = new JFrame("TableDemo");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


//Create and set up the content pane.
TableDemo newContentPane = new TableDemo();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);

//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() {
creatArr();
createAndShowGUI();
}
});
}

private static void creatArr() {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("Dogss.txt"));
String line = br.readLine();

while (line != null) {
String[] rowfields = line.split("#");
rosterList.add(rowfields);
line = br.readLine();
}

} catch (FileNotFoundException e) {
// can be thrown when creating the FileReader/BufferedReader
// deal with the exception
e.printStackTrace();
} catch (IOException e) {
// can be thrown by br.readLine()
// deal with the exception
e.printStackTrace();
}
}
}

最佳答案

您可以通过以下方式获取行号(从零开始)

table.getSelectedRow()

或通过

选择多个行
table.getSelectedRows()

关于java - 获取选定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6082433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com