я являюсь дизайнерским настольным приложением для ресторана, в котором мне нужны группы меню вперед или go назад требуется две кнопки Далее / Пред. , просто я делаю кнопки Далее / Пред., Которые пересылают или go назад это мой код работает неправильно, как кнопки make pagination, моя группа меню работает неправильно.
следующий снимок экрана
Глобальные переменные
public Connection con;
public PreparedStatement pst;
public ResultSet rs;
int totalRecord;
private int pageIndex = 0;
int pageSize = 5;
int pageSize1 = 6;
Группа меню Код функции
public void loadgroup(int category_id) {
// this.pageIndex1 = page;
try {
Connection con5 = connectionDB.conDb();
String s2 = "SELECT id, name,btn_color,text_color FROM `menu_group` where cat_id='" + category_id + "'";
PreparedStatement pst2 = con5.prepareStatement(s2);
ResultSet rs2 = pst2.executeQuery();
groupPnl.removeAll();
revalidate();
// Connection con4 = connectionDB.conDb();
// String test1 = "SELECT COUNT(*)as rowCounts from menu_group";
// PreparedStatement pst3 = con5.prepareStatement(test1);
// ResultSet rs3 = pst3.executeQuery();
// int dbss = rs3.getInt("rowCounts");
if (rs2.next() == false) {
groupPnl.removeAll();
groupPnl.revalidate();
groupPnl.repaint();
groupPnl.setVisible(false);
right.setVisible(false);
left.setVisible(false);
} else {
groupPnl.revalidate();
groupPnl.setVisible(true);
right.setVisible(true);
left.setVisible(true);
do {
// rs2.first();
String a1 = rs2.getString(2);
String a2 = rs2.getString(1);
int a3 = rs2.getInt("btn_color");
int a4 = rs2.getInt("text_color");
PosButton btn = new PosButton();
btn.setText(a1);
btn.setVerticalAlignment((int) JButton.CENTER_ALIGNMENT);
btn.applyComponentOrientation(getComponentOrientation());
btn.setFocusPainted(false);
btn.setFocusable(false);
btn.setRequestFocusEnabled(false);
btn.setMaximumSize(new Dimension(80, 80));
btn.setPreferredSize(new Dimension(40, 35));
btn.setMinimumSize(new Dimension(80, 80));
btn.setFocusPainted(true);
btn.setBorderPainted(true);
btn.setBackground(new Color(a3, true));
btn.setForeground(new Color(a4, true));
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
btn.setSelected(true);
System.out.println(a1 + ":");
btn.isSelected();
int idss = Integer.parseInt(a2);
// loadbtn();
}
});
//String a2 = rs.getString(2);
btn.setHorizontalAlignment(SwingConstants.CENTER);
btn.setHorizontalTextPosition(AbstractButton.CENTER);
btn.setVerticalTextPosition(AbstractButton.BOTTOM);
groupPnl.add(btn);
groupPnl.repaint();
groupPnl.revalidate();
}while (rs2.next());
}
} catch (SQLException e) {
e.getStackTrace();
}
}
Код события следующей кнопки
try {
Connection con = connectionDB.conDb();
String sql = "select COUNT(id) as ids from menu_cat";
PreparedStatement pst = con.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
while (rs.next()) {
gid.setText(rs.getString("ids"));
}
double ab = Double.parseDouble(gid.getText());
double sm = ab / pageSize1;
int ch = (int) sm;
if (ch >= pageIndex1) {
loadgroup(pageIndex1++);
System.out.println(pageIndex1++);
} else {
pageIndex1 = 0;
loadgroup(pageIndex1++);
//nxt.setEnabled(false);
// pageIndex = 0;
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
Требуется событие предыдущей кнопки
pageIndex1 = 0;
loadPage(pageIndex1--);
nxt.setEnabled(true);
Категория меню Загрузка
private void loadPage(int page) {
this.pageIndex = page;
try {
// Customize page size here
Connection con = (Connection) connectionDB.conDb();
String sl = "SELECT id , name,translated_name ,btn_color,text_color FROM `menu_cat` LIMIT ? OFFSET ? ";
PreparedStatement pst = (PreparedStatement) con.prepareStatement(sl);
pst.setInt(1, pageSize);
pst.setInt(2, pageSize * page);
ResultSet rs = pst.executeQuery();
cat_panel.removeAll();
while (rs.next()) {
totalRecord = rs.getInt(1);
String a1 = rs.getString("name");
int getid = rs.getInt(1);
String a00 = rs.getString("translated_name");
int a3 = rs.getInt("BTN_COLOR");
int a4 = rs.getInt("text_COLOR");
PosButton btn = new PosButton();
btn.setText("<html><body><center><p>" + a1 + "</center><p>" + getid + "</p></body></html>");
btn.setVerticalAlignment((int) CENTER_ALIGNMENT);
btn.applyComponentOrientation(getComponentOrientation());
btn.setFocusPainted(false);
btn.setFocusable(false);
btn.setToolTipText(a00);
btn.setRequestFocusEnabled(false);
btn.setMaximumSize(new Dimension(80, 80));
btn.setPreferredSize(new Dimension(60, 60));
btn.setMinimumSize(new Dimension(80, 80));
btn.setBackground(new Color(a3, true));
btn.setForeground(new Color(a4, true));
btn.setFocusPainted(true);
btn.setBorderPainted(true);
btn.setSelected(true);
//String a2 = rs.getString(2);
btn.setHorizontalAlignment(SwingConstants.CENTER);
btn.setHorizontalTextPosition(AbstractButton.CENTER);
btn.setVerticalTextPosition(AbstractButton.BOTTOM);
// cat_panel.setLayout(new MigLayout("fill, wrap 1 0"));
// cat_panel = new JPanel(new MigLayout("fill, wrap 1, insets 0"));
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
btn.setSelected(true);
btn.isSelected();
loadgroup(getid);
//loadgroupss(getid);
System.out.println(a1 + ":\t");
}
});
cat_panel.add(btn, "center");
//add(cat_panel, "grow y");
cat_panel.repaint();
cat_panel.revalidate();
}
} catch (SQLException e) {
}
}