gpt4 book ai didi

java - 来自 sql 的 JTable 工具提示?

转载 作者:行者123 更新时间:2023-12-02 07:19:56 24 4
gpt4 key购买 nike

我已经为此烦恼了两天了。我有一个 JTable,它是使用 SQL 从两个表生成的。

问题是我现在需要一个 Mouseover 工具提示才能工作,其中包含其中一个表中的特定信息。而且它不起作用。

public class Ausgabe extends JPanel {

public JPanel panel1;
private Point hintCell;

Main j;

MA ali = new MA();

public Ausgabe(Main j) {
this.j = j;

}

public void createDefault (){
panel1 = new JPanel();
panel1.setLayout( null );

JLabel lblDieseMitarbeiterSind = new JLabel("Diese Mitarbeiter sind Heute abwesend.");
lblDieseMitarbeiterSind.setBounds(10, 11, 239, 14);
panel1.add(lblDieseMitarbeiterSind);

panel1.add(getHeute());
}
public JTable getHeute(){

DBconnect verbinden = new DBconnect();
verbinden.erstelleVerbindung();

JTable Habwesend=new JTable();
Habwesend.setBounds(10, 30, 200, 400);
Habwesend.setEnabled(false);
DefaultTableModel dm=new DefaultTableModel();

try {
ResultSet rs= verbinden.sqlStatement.executeQuery("select Vor, Nach from MA_Tabelle where MA_ID in (select distinct MA_ID from AB_Spanne where(Date() >= Start and Date() <= Ende)) ");
ResultSetMetaData rsmd=rs.getMetaData();
//Coding to get columns-
int cols=rsmd.getColumnCount();
String c[]=new String[cols];
for(int i=0;i<cols;i++){
c[i]=rsmd.getColumnName(i+1);
for (int k = 0; k < c.length; k++) {
dm.addColumn(c[k]);
}


}
Object row[]=new Object[cols];
while(rs.next()){
for(int i=0;i<cols;i++){
row[i]=rs.getString(i+1);
}
dm.addRow(row);

}

Habwesend.setModel(dm);
Habwesend.setToolTipText(getToolTipText((MouseEvent) verbinden.sqlStatement.executeQuery("select Start, Ende from AB_Spanne where MA_ID = "+rs)));
verbinden.schliesseVerbindung();


}catch(SQLException e){
System.out.println("this failed");
System.out.print(e);
}
return Habwesend;
}

public String result() {
// TODO Auto-generated method stub
return null;
}
}

希望有人能帮助我。

提前致谢。

最佳答案

在您的代码中,您为整个表格设置了单个工具提示文本,因此所有单元格的文本都相同。

相反,使用从 JTable 派生的自定义表类并重写该方法

@Override
public String getToolTipText(MouseEvent e) {
Point where = e.getPoint();
int column = columnAtPoint(where);
int row = rowAtPoint(where);

// now run your SQL to get the tooltip text
...
return tooltip;
}

关于java - 来自 sql 的 JTable 工具提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14375110/

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