- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 java 中实现此示例时遇到问题,tableFilterDemo 是一个类,它使用我编写的每个字符的文本字段进行排序和查找。我必须连接到我的数据库并使用此数据加载表,但此示例实现的 mytablemodel 与我不兼容。我尝试了不同的方式。我需要其他方法来实现这个例子。我找不到其他示例来执行此操作。
public class TableFilterDemo extends JPanel {
private boolean DEBUG = false;
private JTable table;
private JTextField filterText;
private JTextField statusText;
private TableRowSorter sorter;
public TableFilterDemo() {
siêu();
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
//Create a table with a sorter.
MyTableModel model = new MyTableModel();
sorter = new TableRowSorter(model);
table = new JTable(model);
table.setRowSorter(sorter);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
table.setFillsViewportHeight(true);
//For the purposes of this example, better to have a single
//selection.
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//When selection changes, provide user with row numbers for
//both view and model.
table.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent event) {
int viewRow = table.getSelectedRow();
if (viewRow < 0) {
//Selection got filtered away.
statusText.setText("");
} khác {
int modelRow =
table.convertRowIndexToModel(viewRow);
statusText.setText(
String.format("Selected Row in view: %d. "
+ "Selected Row in model: %d.",
viewRow, modelRow));
}
}
});
//Create the scroll pane and add the table to it.
JScrollPane scrollPane = new JScrollPane(table);
//Add the scroll pane to this panel.
add(scrollPane);
//Create a separate form for filterText and statusText
JPanel form = new JPanel(new SpringLayout());
JLabel l1 = new JLabel("Filter Text:", SwingConstants.TRAILING);
form.add(l1);
filterText = new JTextField();
//Whenever filterText changes, invoke newFilter.
filterText.getDocument().addDocumentListener(
new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
newFilter();
}
public void insertUpdate(DocumentEvent e) {
newFilter();
}
public void removeUpdate(DocumentEvent e) {
newFilter();
}
});
l1.setLabelFor(filterText);
form.add(filterText);
JLabel l2 = new JLabel("Status:", SwingConstants.TRAILING);
form.add(l2);
statusText = new JTextField();
l2.setLabelFor(statusText);
form.add(statusText);
SpringUtilities.makeCompactGrid(form, 2, 2, 6, 6, 6, 6);
add(form);
}
/**
* Update the row filter regular expression from the expression in
* the text box.
*/
private void newFilter() {
RowFilter rf = null;
//If current expression doesn't parse, don't update.
thử {
rf = RowFilter.regexFilter(filterText.getText(), 0);
} catch (java.util.regex.PatternSyntaxException e) {
return;
}
sorter.setRowFilter(rf);
}
class MyTableModel extends AbstractTableModel {
private String[] columnNames = {"First Name",
"Last Name",
"Sport",
"# of Years",
"Vegetarian"};
private Object[][] data = {
{"Kathy", "Smith",
"Snowboarding", new Integer(5), new Boolean(false)},
{"John", "Doe",
"Rowing", new Integer(3), new Boolean(true)},
{"Sue", "Black",
"Knitting", new Integer(2), new Boolean(false)},
{"Jane", "White",
"Speed reading", new Integer(20), new Boolean(true)},
{"Joe", "Brown",
"Pool", new Integer(10), new Boolean(false)}
};
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
/*
* JTable uses this method to determine the default renderer/
* editor for each cell. If we didn't implement this method,
* then the last column would contain text ("true"/"false"),
* rather than a check box.
*/
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
/*
* Don't need to implement this method unless your table's
* editable.
*/
public boolean isCellEditable(int row, int col) {
//Note that the data/cell address is constant,
//no matter where the cell appears onscreen.
if (col < 2) {
trả về false;
} khác {
trả về giá trị đúng;
}
}
/*
* Don't need to implement this method unless your table's
* data can change.
*/
public void setValueAt(Object value, int row, int col) {
if (DEBUG) {
System.out.println("Setting value at " + row + "," + col
+ " to " + value
+ " (an instance of "
+ value.getClass() + ")");
}
data[row][col] = value;
fireTableCellUpdated(row, col);
if (DEBUG) {
System.out.println("New value of data:");
printDebugData();
}
}
private void printDebugData() {
int numRows = getRowCount();
int numCols = getColumnCount();
for (int i = 0; i < numRows; i++) {
System.out.print(" row " + i + ":");
for (int j = 0; j < numCols; j++) {
System.out.print(" " + data[i][j]);
}
System.out.println();
}
System.out.println("--------------------------");
}
}
/**
* 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("TableFilterDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
TableFilterDemo newContentPane = new TableFilterDemo();
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() {
công khai void run() {
createAndShowGUI();
}
});
}
}
1 Câu trả lời
but the mytablemodel that this example implement is not compatible for me
该示例应该适用于任何 TableModel。
如果 MyTableModel 没有按照您希望的方式存储数据,则不要使用它。
使用 DefaultTableModel 或您创建的任何自定义模型。
关于java - 实现 TableFilterDemo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6998865/
Bối cảnh: Gần đây tôi sử dụng JPA rất nhiều và tôi rất ấn tượng về khả năng dễ dàng tạo lớp lưu trữ bền vững cho dự án cơ sở dữ liệu quan hệ khá lớn của mình. Công ty chúng tôi sử dụng nhiều cơ sở dữ liệu không phải SQL, đặc biệt là các cơ sở dữ liệu theo cột. Tôi có một số câu hỏi về khả năng sử dụng JPA với các cơ sở dữ liệu này.
Tôi đã thêm các cấu hình xây dựng này vào maven pom của mình vì tôi muốn các phụ thuộc của Apache Solr được đóng gói cùng với Jar. Nếu không, tôi sẽ nhận được SolarServerException: ClassNotF
giao diện ITurtle { void Fight(); void EatPizza(); } giao diện ILeonardo : ITurtle {
Tôi hy vọng rằng một trong những công cụ ánh xạ đối tượng/quan hệ (ORM) có sẵn cho Java sẽ đáp ứng được các yêu cầu sau: Truy xuất một số lượng lớn hàng bằng cách sử dụng truy vấn JPA hoặc SQL gốc và trả về chúng dưới dạng đối tượng thực thể. Cho phép lặp lại trên các hàng (thực thể) và
Có vẻ là không, vì tôi có mã thực hiện From for và tôi có thể chuyển đổi A thành B bằng .into() nhưng điều tương tự không hiệu quả với Vec .into() a Vec . Hoặc là tôi đã làm hỏng thứ gì đó ngăn cản việc thực hiện Derivation, hoặc điều này không nên xảy ra.
Trong C#, nếu A triển khai IX và B kế thừa từ A, thì liệu B có nhất thiết phải triển khai IX không? Nếu vậy, có phải là do LSP không? Có sự khác biệt nào giữa: 1. Giao diện IX; Lớp A: IX;
Hiện tại, câu hỏi này không phù hợp với định dạng Hỏi & Đáp của chúng tôi. Chúng tôi mong đợi câu trả lời được hỗ trợ bởi các sự kiện, tài liệu tham khảo hoặc chuyên môn, nhưng câu hỏi này có thể gây ra tranh luận, tranh cãi, thăm dò ý kiến hoặc thảo luận mở rộng. Nếu bạn cảm thấy vấn đề này có thể được cải thiện và có thể mở lại, hãy truy cập
Tôi đang đọc mã triển khai (^) của thư viện haskell chuẩn: (^) :: (Num a, Integral b) => a -> b -> a x0 ^ y0 | y0 a -> b ->a expo x0
Tôi sẽ biểu diễn ván cờ vua dưới dạng cấu trúc C++. Tôi nghĩ, lựa chọn tốt nhất sẽ là cấu trúc cây (vì ở mỗi độ sâu, chúng ta có nhiều khả năng di chuyển). Đây có phải là cách tiếp cận tốt không? cấu trúc TreeElement{ SomeMoveType
Tôi đang triển khai thuật toán khớp chuỗi cho cơ sở dữ liệu tên người dùng. Phương pháp của tôi sử dụng cơ sở dữ liệu tên người dùng hiện có và tên người dùng mới mà người dùng muốn, sau đó kiểm tra xem tên người dùng đó đã có người dùng hay chưa. Nếu sử dụng, phương pháp này sẽ trả về tên người dùng với một số chưa được sử dụng trong cơ sở dữ liệu. Ví dụ: "Jia
Tôi đang cố gắng triển khai thuật toán tìm kiếm theo chiều rộng để tìm khoảng cách ngắn nhất giữa hai đỉnh. Tôi đã phát triển một đối tượng Queue để lưu và truy xuất các đối tượng và tôi có một mảng 2D để lưu hai đỉnh đã cho
Hiện tại tôi đang phát triển trò chơi Python của mình bằng ika, sử dụng python 2.5 và tôi quyết định sử dụng công nghệ tìm đường A* cho AI. Tuy nhiên, tôi thấy nó quá chậm so với nhu cầu của mình (3-4 kẻ địch có thể sẽ chậm hơn so với trò chơi, nhưng tôi muốn cung cấp 4-
Tôi đang tìm kiếm một triển khai mã nguồn mở của Kademlia, một bảng băm phân tán trong C/C++. Nó phải nhẹ và chạy được trên nhiều nền tảng (win/linux/mac). Nó phải có khả năng xuất bản thông tin tới DHT và thu thập thông tin đó. Câu trả lời tốt nhất cho OpenDHT là
Tôi đọc được dòng này trong một cuốn sách: "Khi chúng ta yêu cầu triển khai C++ chạy một chương trình, nó sẽ thực hiện bằng cách gọi hàm này." Và tôi muốn biết "Triển khai C++" có nghĩa là gì hoặc chính xác thì nó là gì. giúp đỡ!? Câu trả lời tốt nhất là "Triển khai C++" nghĩa là trình biên dịch cộng với trình liên kết
Tôi đang cố gắng triển khai bài toán ba lô này trong C++ bằng cách sử dụng nhánh và ràng buộc. Có một phiên bản Java trên trang web này: Triển khai nhánh và ràng buộc cho knapsack Tôi đã cố gắng để có được phiên bản C++ của mình để in
Có nhiều trường hợp tôi cần truy cập thuật toán băm phù hợp trong C#, từ ghi đè GetHashCode đến thực hiện so sánh/tra cứu dữ liệu nhanh. Tôi thấy băm FNV là một thuật toán băm rất đơn giản/tốt/nhanh. Tuy nhiên, tôi chưa bao giờ thấy một triển khai C#
Chiến lược thay thế bộ nhớ đệm LRU thư mục ý tưởng cốt lõi không áp dụng thuật toán kịch bản thuật toán triển khai cơ bản tối ưu hóa
1. Giới thiệu Trong bài viết trước, chúng tôi đã đề cập đến việc các hệ tọa độ hình chữ nhật không gian được chuyển đổi cho nhau. Khi thực hiện chuyển đổi tọa độ trắc địa và lập bản đồ, tình huống thường gặp là: chuyển đổi góc nhỏ của hai hệ tọa độ hình chữ nhật. Đây là những gì chúng ta thường sử dụng trong quá trình xử lý dữ liệu khảo sát và lập bản đồ, hệ tọa độ WGS-84, hệ tọa độ Bắc Kinh 54
Trong quá trình phát triển phần mềm, đôi khi chúng ta cần kiểm tra dữ liệu trong cơ sở dữ liệu theo định kỳ và kích hoạt hành động khi tìm thấy dữ liệu mới. Để đạt được yêu cầu này, chúng tôi sẽ tiến hành một cuộc trình diễn đơn giản trong .Net 7. PeriodicTimer.
Tìm kiếm nhị phân Thuật toán tìm kiếm nhị phân, nói một cách đơn giản, là đưa ra một khóa giá trị trong một mảng có thứ tự, sau đó so sánh nó với phần tử giữa của mảng. Nếu khóa lớn hơn giá trị giữa, hãy thực hiện phép so sánh tiếp theo sau phần tử giữa cho đến khi tìm được giá trị bằng, sau đó bạn có thể biết được vị trí của nó.
Tôi là một lập trình viên xuất sắc, rất giỏi!