[英]Using the result of a query as a condition to set background of jtextField in java swing with Mysql
有人可以幫我使用查詢語句的結果設置jtextfield
的背景顏色 我的代碼已編譯但我現在沒有結果
public void mouseClicked( MouseEvent arg0 )
{
DefaultTableModel model = (DefaultTableModel) table_Vols_Disponibles.getModel();
// get the selected row index
int selectedRowIndex = table_Vols_Disponibles.getSelectedRow();
// set the selected row data into jtextfields
txt_ID_Vol.setText( model.getValueAt( selectedRowIndex, 0 ).toString() );
txt_ID_Avion.setText( model.getValueAt( selectedRowIndex, 1 ).toString() );
txt_Heure_Depart.setText( model.getValueAt( selectedRowIndex, 2 ).toString() );
txt_Heure_Arrivee.setText( model.getValueAt( selectedRowIndex, 3 ).toString() );
txt_Duree.setText( model.getValueAt( selectedRowIndex, 4 ).toString() );
txt_Ville_Depart.setText( model.getValueAt( selectedRowIndex, 5 ).toString() );
txt_Ville_Arrivee.setText( model.getValueAt( selectedRowIndex, 6 ).toString() );
// int row =table_Vols_Disponibles.getSelectedRow();
// String cell=table_Vols_Disponibles.getModel().getValueAt(row, 0).toString();
try
{
Class.forName( "com.mysql.jdbc.Driver" );
Connection connection = DriverManager.getConnection( "jdbc:mysql://localhost:3306/billet_avion", "root", "" );
String sql = "Select siege from sieges where id_vo='" + txt_ID_Vol + "' ";
PreparedStatement preparedStatement = connection.prepareStatement( sql );
ResultSet resultSet = preparedStatement.executeQuery( sql );
String siege1 = txtTest.getText();
String NBsiege = resultSet.getString( "siege" );
if( NBsiege == siege1 )
{
txtTest.setBackground( Color.green );
}
}
catch( ClassNotFoundException e )
{
e.printStackTrace();
}
catch( SQLException throwables )
{
throwables.printStackTrace();
}
}
當您比較字符串時,您需要比較內容而不是它們的 memory 地址。 由於==
是一個運算符,它比較 memory 地址而不是內容
改變
if( NBsiege == siege1 )
{
txtTest.setBackground( Color.green );
}
至
if( siege1.equals(NBsiege) )
{
txtTest.setBackground( Color.green );
}
一條建議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.