[Для отображения значений в JList из базы данных OnLoad] [графического интерфейса Swing и Database`Для отображения значений в JList из DataBase OnLoad
Инициализация код:
public void initMethod()
{
try {
PortSelectionBox.addItem("COM1");
PortSelectionBox.addItem("COM2");
String[] listData={"sac : 1", "prl : 2","railway : 3", "railway : 4", "railway : 5", "prl : 6"};
//SourceJList.setListData(listData);
//get values from database and show in destlist
String query="Select * from `test`.`mapgroup`;";
System.out.println("query for selecttion: "+query);
ResultSet rs= con.SelectData(query);
ArrayList al = new ArrayList();
while(rs.next())
{
group=rs.getString("GroupName");
port=rs.getString("PortId");
System.out.println("grp: "+group);
System.out.println("port: "+port);
al.add(group);
}
//check if values present in db then show in dest list
//check which port is selected and then show value from database
if((PortSelectionBox.getSelectedItem().toString()).equals(port))
{
System.out.println("if condition satisfied");
}
for (String string : listData) {
SorceModel.addElement(string);
}
SourceJList.setModel(SorceModel);
} catch (ClassNotFoundException ex) {
Logger.getLogger(PanelSMS.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(PanelSMS.class.getName()).log(Level.SEVERE, null, ex);
}
}
действие, выполняемое на комбобоксе onchnage:
кнопкаprivate void PortSelectionBoxActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//Show values in destList according to values stored in DB with there ports ,what to do here to map values with values stored in db
}
действие, выполняемое на оных (>>) по щелчку:
private void addBtnActionPerformed(java.awt.event.ActionEvent evt) {
try {
String port=PortSelectionBox.getSelectedItem().toString().trim();
String group=SourceJList.getSelectedValue().toString();
String temp=group;
String query="query to insert into db";
con.Ins_Upd_Del(query);
System.out.println("code to add: "+query);
System.out.println("data added");
DestModel.addElement(temp);
DestJList.setModel(DestModel);
SorceModel.removeElement(group);
System.out.println("done....");
} catch (ClassNotFoundException ex) {
Logger.getLogger(PanelSMS.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(PanelSMS.class.getName()).log(Level.SEVERE, null, ex);
}
}
Кнопка
,
действие, выполняемое Вытащите (< <) OnClick:
private void removeBtnActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
String port=PortSelectionBox.getSelectedItem().toString().trim();
String group=DestJList.getSelectedValue().toString();
String temp=group;
String query="query to delet";
System.out.println("code to remove: "+query);
con.Ins_Upd_Del(query);
System.out.println("data added");
SorceModel.addElement(temp);
SourceJList.setModel(SorceModel);
DestModel.removeElement(group);
System.out.println("done....");
} catch (ClassNotFoundException ex) {
Logger.getLogger(PanelSMS.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(PanelSMS.class.getName()).log(Level.SEVERE, null, ex);
}
}
Я сделал работу для добавления и удаления кнопок. но теперь я застрял в части обзора. Что я делаю, так это то, что я заполняю первый Jlist из arraylist. когда я добавляю какой-либо элемент из этого jlist, его добавляется во второй JList и вставляется в DB, аналогично при операции удаления он делает обратное.
Теперь мне нужны те значения, которые я уже добавил во втором Jlist, его не следует показывать в первом Jlist и наоборот в момент загрузки, а значения должны отображаться соответственно в соответствии с выбором. также поле выбора играет важную роль здесь, так как я хочу показать значения в jlist в соответствии с выбранным значением.
Например, если я сохранил com1 с «prl: 1», то он должен отображаться только во втором Jlist onload. Incase Я хочу обновить эти списки, тогда это должно быть сделано в БД и отображено аналогичным образом.
Я не получаю поток для части обзора. У меня уже есть все, что хранится в БД, я просто хочу сопоставить вещи и показать их соответственно.
Пожалуйста, помогите мне ... а я не могу получить, что делать дальше ... `] 2
Фактически в первый раз в базе данных ничего нет, поэтому destList должен быть пустым. PortSelectionBOX is imp, потому что сначала я выбираю порт, к которому я хочу добавить группы, как только я что-то добавлю к нему, его следует добавить в destList и удалить из sourcelist.Теперь, когда в следующий раз откройте GUI, я должен получить результат, который будет сохранен в БД, соответствующий определенному выбранному порту. exm: я храню порт COM1 с prl: 1 & prl: 2, затем я выбираю COM2 и сохраняю железную дорогу: 1 и железную дорогу: 2, теперь все эти значения должны отображаться в DestList с соответствующими портами. Спасибо – Kiara
У меня есть таблица в БД, называемая mapgroup с столбцами mapgroupID, GroupName и PortName. Я добавляю данные о событии кнопки добавления в БД, теперь, если у меня есть значения COM1 с prl: 1 & prl: 2, тогда я выбираю COM2 и сохраняю железную дорогу: 1 и железную дорогу: 2 хранятся в БД, затем на виду, группы должны отображаться в destList с соответствующими портами. я не могу понять, где писать этот код, например, при инициализации или в событии selectionBox onchange, а также как сопоставлять эти группы с такими портами для отображения в destList – Kiara
Также PortSelectionBox является динамическим (просто для примера я добавил значения вручную в выборка), поэтому любые значения могут быть там, и я могу отобразить любой порт в любую группу ... Я просто хочу видеть соответствующие данные в соответствии с портом, выбранным в destList (значения извлекаются из базы данных) – Kiara