Şimdi bir arama metnim var. KeyReleased olayıyla birlikte uygulanan, jTable'ı bulamamış/güncellemediğimde (örneğin, "Andrew" dan "An" yazarken) ve tam olarak yazmak için bitirdikten sonra (caseSensitive) bulmak istediğim ad.Arama metnini gerçekleştirme jTable ile işaretleyin
Yani, istediğim, bu site filtreleme yöntemini uygulamaktır ancak büyük sorunlarım var. Uygulamanın altında ve "eski" KeyRedeased olayının kaldırılmasından sonra, "txt_search" metin alanında bir şey yazdığımda jTable ile hiçbir şey olmuyor.
IDE (NetBeans) tarafından oluşturulan tablonun Benim kodu (özelleştirme kod panelinden aktarılmıştır):
Table_Employee = new javax.swing.JTable();
Table_Employee.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
)
);
Table_Employee.setToolTipText("Employee info table");
Table_Employee.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
Table_Employee.getTableHeader().setReorderingAllowed(false);
Table_Employee.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
Table_EmployeeMouseClicked(evt);
}
});
Table_Employee.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
Table_EmployeeKeyPressed(evt);
}
});
jScrollPane1.setViewportView(Table_Employee);
ve tablo nerede benim paneli sınıfına bu ekledi:
import java.awt.Toolkit;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import net.proteanit.sql.DbUtils;
import java.awt.event.*;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.text.*;
import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;
public class Employee_info extends javax.swing.JFrame {
Connection conn=null;
ResultSet rs=null;
PreparedStatement pst=null;
private TableRowSorter<DefaultTableModel> sorter;
/**
* Creates new form Employee_info
*/
public Employee_info() {
initComponents();
conn=javaconnect.ConnecrDb();
Update_table();
Fillcombo();
currentDate();
Table_Employee.setAutoCreateRowSorter(true);
Table_Employee.setFillsViewportHeight(true);
Table_Employee.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
DefaultTableModel model = new DefaultTableModel();
sorter = new TableRowSorter<DefaultTableModel>(model);
Table_Employee = new JTable(model);
txt_search = new JTextField();
//Whenever filterText changes, invoke newFilter.
txt_search.getDocument().addDocumentListener(
new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
newFilter();
}
public void insertUpdate(DocumentEvent e) {
newFilter();
}
public void removeUpdate(DocumentEvent e) {
newFilter();
}
});
}
private void newFilter() {
RowFilter<DefaultTableModel, Object> rf = null;
//If current expression doesn't parse, don't update.
try {
rf = RowFilter.regexFilter(txt_search.getText(), 0);
} catch (java.util.regex.PatternSyntaxException e) {
return;
}
sorter.setRowFilter(rf);
}
ben Gerçekten biraz yardıma ihtiyacım var, lütfen! Bu benim son şansım, çünkü google arama çözümlerini gerçekten yaptım ve hiçbir şey değişmedi. ilgili olarak
, Andrew
Büyük olasılıkla en önemli farkın ek bir işaretçisi olduğu gibi: 'table.setRowSorter (sıralayıcı); ', sorulan kodun o bölümü unuttuğu için. – Yhn
Bu örneği biliyorum, ancak ihtiyaçlarıma uyum sağlamanıza yardımcı olabilirsiniz. Şimdilik jTable, textFields ve malzeme oluşturmak için IDE kullanıyorum. Yakın gelecekte manuel olarak inşa etmeyi planlıyorum. Bu kodu, varsayılan model ve malzeme ile jTable tarafından oluşturulan koduma uyarlamaya çalıştığımda kafam karıştı. –
@Apopei Andrei Ionut üzgünüm built_in pallete'den nasıl yapılacağını bilmiyorum, her eylem için özellik alanları var, neden benim için neden Java & Swing'i bilmem ve GUI Editor ile birlikte, – mKorbel