Java应用程序窗口非常慢
您好,我已经创建了一个Java应用程序Windown,它应该在其中连接到数据库和变更单状态,并可以更详细地查看它们。但毫无原因,该应用程序运行速度非常慢,不执行更新命令,代码如下:Java应用程序窗口非常慢,java,mysql,swing,Java,Mysql,Swing,您好,我已经创建了一个Java应用程序Windown,它应该在其中连接到数据库和变更单状态,并可以更详细地查看它们。但毫无原因,该应用程序运行速度非常慢,不执行更新命令,代码如下: /** * Create the application. */ public EstagioGUITeste() { initialize(); } private Connection ligacao = null; private JComboBox cbEstado; private JTabl
/**
* Create the application.
*/
public EstagioGUITeste() {
initialize();
}
private Connection ligacao = null;
private JComboBox cbEstado;
private JTable table;
private void iniLigacao() {
String url = "jdbc:mysql://localhost/science4estagio";
String user = "root";
String password = "";
try {
ligacao = DriverManager.getConnection(url, user, password);
} catch (SQLException se) {
se.getLocalizedMessage();
}
}
private void closeLigacao() {
try {
if (ligacao != null) {
ligacao.close();
}
} catch (SQLException se) {
se.getLocalizedMessage();
}
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 1012, 403);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new CardLayout(0, 0));
JPanel panelLogin = new JPanel();
frame.getContentPane().add(panelLogin, "panelLogin");
GridBagLayout gbl_panelLogin = new GridBagLayout();
gbl_panelLogin.columnWidths = new int[] { 225, 358, 225, 0 };
gbl_panelLogin.rowHeights = new int[] { 39, 0, 0, 0, 0, 48, 0 };
gbl_panelLogin.columnWeights = new double[] { 1.0, 0.0, 1.0,
Double.MIN_VALUE };
gbl_panelLogin.rowWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, Double.MIN_VALUE };
panelLogin.setLayout(gbl_panelLogin);
JLabel lblNewLabel = new JLabel("Login");
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 32));
GridBagConstraints gbc_lblNewLabel = new GridBagConstraints();
gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel.anchor = GridBagConstraints.NORTH;
gbc_lblNewLabel.gridx = 1;
gbc_lblNewLabel.gridy = 0;
panelLogin.add(lblNewLabel, gbc_lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("User:");
GridBagConstraints gbc_lblNewLabel_1 = new GridBagConstraints();
gbc_lblNewLabel_1.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_1.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_1.gridx = 0;
gbc_lblNewLabel_1.gridy = 2;
panelLogin.add(lblNewLabel_1, gbc_lblNewLabel_1);
txtUser = new JTextField();
GridBagConstraints gbc_txtUser = new GridBagConstraints();
gbc_txtUser.insets = new Insets(0, 0, 5, 5);
gbc_txtUser.fill = GridBagConstraints.HORIZONTAL;
gbc_txtUser.gridx = 1;
gbc_txtUser.gridy = 2;
panelLogin.add(txtUser, gbc_txtUser);
txtUser.setColumns(10);
JLabel lblPassowrd = new JLabel("Password:");
GridBagConstraints gbc_lblPassowrd = new GridBagConstraints();
gbc_lblPassowrd.anchor = GridBagConstraints.EAST;
gbc_lblPassowrd.insets = new Insets(0, 0, 5, 5);
gbc_lblPassowrd.gridx = 0;
gbc_lblPassowrd.gridy = 3;
panelLogin.add(lblPassowrd, gbc_lblPassowrd);
passwordField = new JPasswordField();
passwordField.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
iniLigacao();
try {
String sql = "SELECT * FROM view_ecra2 ";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (SQLException se) {
se.getLocalizedMessage();
}
closeLigacao();
iniLigacao();
try {
PreparedStatement inst = ligacao
.prepareStatement("SELECT * FROM utilizadorpassword WHERE User=? and Password=? ");
inst.setString(1, txtUser.getText());
inst.setString(2, passwordField.getText());
ResultSet resultado = inst.executeQuery();
int contador = 0;
while (resultado.next()) {
contador = contador + 1;
}
if (contador == 1) {
JOptionPane.showMessageDialog(null,
"Acesso Garantido\n");
CardLayout card = (CardLayout) frame
.getContentPane().getLayout();
card.show(frame.getContentPane(), "panelPrincipal");
} else if (contador > 1) {
JOptionPane.showMessageDialog(null,
"Utilizador e password duplicados");
} else {
JOptionPane.showMessageDialog(null,
"Utilizador e/ou password errados");
}
inst.close();
} catch (SQLException e1) {
System.out
.println("Impossivel ligar à base de dados\n");
System.out.println(e1.getLocalizedMessage());
}
closeLigacao();
}
}
});
GridBagConstraints gbc_passwordField = new GridBagConstraints();
gbc_passwordField.insets = new Insets(0, 0, 5, 5);
gbc_passwordField.fill = GridBagConstraints.HORIZONTAL;
gbc_passwordField.gridx = 1;
gbc_passwordField.gridy = 3;
panelLogin.add(passwordField, gbc_passwordField);
JButton btnNewButton = new JButton("Entrar");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
iniLigacao();
try {
String sql = "SELECT * FROM view_ecra2;";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (SQLException se) {
se.getLocalizedMessage();
}
closeLigacao();
iniLigacao();
try {
PreparedStatement inst = ligacao
.prepareStatement("SELECT * FROM utilizadorpassword WHERE User=? and Password=? ");
inst.setString(1, txtUser.getText());
inst.setString(2, passwordField.getText());
ResultSet resultado = inst.executeQuery();
int contador = 0;
while (resultado.next()) {
contador = contador + 1;
}
if (contador == 1) {
JOptionPane.showMessageDialog(null,
"Acesso Garantido\n");
CardLayout card = (CardLayout) frame.getContentPane()
.getLayout();
card.show(frame.getContentPane(), "panelPrincipal");
} else if (contador > 1) {
JOptionPane.showMessageDialog(null,
"Utilizador e password duplicados");
} else {
JOptionPane.showMessageDialog(null,
"Utilizador e/ou password errados");
}
inst.close();
} catch (SQLException e1) {
System.out.println("Impossivel ligar à base de dados\n");
System.out.println(e1.getLocalizedMessage());
}
closeLigacao();
}
});
GridBagConstraints gbc_btnNewButton = new GridBagConstraints();
gbc_btnNewButton.insets = new Insets(0, 0, 0, 5);
gbc_btnNewButton.gridx = 1;
gbc_btnNewButton.gridy = 5;
panelLogin.add(btnNewButton, gbc_btnNewButton);
JPanel panelPrincipal = new JPanel();
frame.getContentPane().add(panelPrincipal, "panelPrincipal");
GridBagLayout gbl_panelPrincipal = new GridBagLayout();
gbl_panelPrincipal.columnWidths = new int[] { 26, 44, 78, 169, 124, 69,
24, 0 };
gbl_panelPrincipal.rowHeights = new int[] { 66, 104, 41, 0 };
gbl_panelPrincipal.columnWeights = new double[] { 0.0, 0.0, 0.0, 0.0,
1.0, 0.0, 0.0, Double.MIN_VALUE };
gbl_panelPrincipal.rowWeights = new double[] { 0.0, 1.0, 0.0,
Double.MIN_VALUE };
panelPrincipal.setLayout(gbl_panelPrincipal);
JButton btnCarregarDados = new JButton("Recarregar dados");
btnCarregarDados.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
iniLigacao();
try {
String sql = "SELECT * FROM view_ecra2;";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (SQLException se) {
se.getLocalizedMessage();
}
cbEstado.setSelectedIndex(0);
closeLigacao();
}});
JLabel lblNewLabel_2 = new JLabel("");
lblNewLabel_2.setIcon(new ImageIcon("C:\\workspace\\Science4youTestes\\LogoPanelPrincipal.png"));
GridBagConstraints gbc_lblNewLabel_2 = new GridBagConstraints();
gbc_lblNewLabel_2.fill = GridBagConstraints.BOTH;
gbc_lblNewLabel_2.gridwidth = 5;
gbc_lblNewLabel_2.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_2.gridx = 0;
gbc_lblNewLabel_2.gridy = 0;
panelPrincipal.add(lblNewLabel_2, gbc_lblNewLabel_2);
GridBagConstraints gbc_btnCarregarDados = new GridBagConstraints();
gbc_btnCarregarDados.insets = new Insets(0, 0, 5, 5);
gbc_btnCarregarDados.fill = GridBagConstraints.BOTH;
gbc_btnCarregarDados.gridx = 5;
gbc_btnCarregarDados.gridy = 0;
panelPrincipal.add(btnCarregarDados, gbc_btnCarregarDados);
JScrollPane scrollPane = new JScrollPane();
GridBagConstraints gbc_scrollPane = new GridBagConstraints();
gbc_scrollPane.fill = GridBagConstraints.BOTH;
gbc_scrollPane.gridwidth = 5;
gbc_scrollPane.insets = new Insets(0, 0, 5, 5);
gbc_scrollPane.gridx = 1;
gbc_scrollPane.gridy = 1;
panelPrincipal.add(scrollPane, gbc_scrollPane);
table = new JTable();
scrollPane.setViewportView(table);
JLabel lblOrganizarPor = new JLabel("Mostrar Estado:");
GridBagConstraints gbc_lblOrganizarPor = new GridBagConstraints();
gbc_lblOrganizarPor.anchor = GridBagConstraints.EAST;
gbc_lblOrganizarPor.insets = new Insets(0, 0, 0, 5);
gbc_lblOrganizarPor.gridx = 1;
gbc_lblOrganizarPor.gridy = 2;
panelPrincipal.add(lblOrganizarPor, gbc_lblOrganizarPor);
cbEstado = new JComboBox();
cbEstado.setMaximumRowCount(4);
cbEstado.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Object selected = cbEstado.getSelectedItem();
iniLigacao();
if (selected.toString().equals("Pendente")) {
try {
String sql = "SELECT * FROM view_ecra2 WHERE Estado='P - Pendente' ORDER BY ID_Encomenda DESC";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
st.executeQuery();
st.executeUpdate();
} catch (SQLException se) {
se.getLocalizedMessage();
}
} else if (selected.toString().equals("Confirmada")) {
try {
String sql = "SELECT * FROM view_ecra2 WHERE Estado='C - Confirmada' ORDER BY ID_Encomenda DESC";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
st.executeQuery();
st.executeUpdate();
} catch (SQLException se) {
se.getLocalizedMessage();
}
} else if (selected.toString().equals("Anulada")) {
try {
String sql = "SELECT * FROM view_ecra2 WHERE Estado='X - Anulada' ORDER BY ID_Encomenda DESC";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
st.executeQuery();
st.executeUpdate();
} catch (SQLException se) {
se.getLocalizedMessage();
}
} else if (selected.toString().equals("Reembolsada")) {
try {
String sql = "SELECT * FROM view_ecra2 WHERE Estado='R - Reembolsada' ORDER BY ID_Encomenda DESC";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
st.executeQuery();
st.executeUpdate();
} catch (SQLException se) {
se.getLocalizedMessage();
}
} else if (selected.toString().equals("Enviada")) {
try {
String sql = "SELECT * FROM view_ecra2 WHERE Estado='S - Enviada' ORDER BY ID_Encomenda DESC";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
st.executeQuery();
st.executeUpdate();
} catch (SQLException se) {
se.getLocalizedMessage();
}
} else {
iniLigacao();
try {
String sql = "SELECT * FROM view_ecra2";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (SQLException se) {
se.getLocalizedMessage();
}
cbEstado.setSelectedIndex(0);
closeLigacao();
}
closeLigacao();
}
});
cbEstado.setModel(new DefaultComboBoxModel(new String[] { "Enviada",
"Reembolsada", "Pendente", "Confirmada", "Anulada" }));
cbEstado.insertItemAt("", 0);
cbEstado.setSelectedIndex(0);
GridBagConstraints gbc_cbEstado = new GridBagConstraints();
gbc_cbEstado.insets = new Insets(0, 0, 0, 5);
gbc_cbEstado.gridx = 2;
gbc_cbEstado.gridy = 2;
panelPrincipal.add(cbEstado, gbc_cbEstado);
JButton btnAlterarEstado = new JButton("Alterar Estado");
btnAlterarEstado.addActionListener(new ActionListener() {
private String targetSwitch;
private long targetIDb;
public void actionPerformed(ActionEvent e) {
radPanel.add(btnEnv);
radPanel.add(btnCon);
radPanel.add(btnPen);
radPanel.add(btnRee);
radPanel.add(btnAnu);
if(table.getSelectedRowCount()==0){
JOptionPane.showMessageDialog(frame, "Não selecionou nada");
}else {
int resposta2 = JOptionPane.showOptionDialog(null,
radPanel, "Altere o Estado da Encomenda",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null, null, null);
if (resposta2 == JOptionPane.OK_OPTION) {
int resposta = JOptionPane.showConfirmDialog(frame,
"Deseja alterar mesmo o estado da encomenda?",
"Confirme a eliminação",
JOptionPane.YES_NO_OPTION);
if (resposta == JOptionPane.YES_OPTION) {
Object targetIdteste = table.getValueAt(table.getSelectedRow(), 0);
try {
targetIDb = (long) targetIdteste;
} catch (ClassCastException ce){
ce.getLocalizedMessage();
ce.printStackTrace();
}
iniLigacao();
try{
PreparedStatement stt = ligacao
.prepareStatement("SELECT view_ecra2_bg.Estado FROM view_ecra2_bg WHERE ID_Encomenda_BG=?");
stt.setLong(1, targetIDb);
ResultSet resul = stt.executeQuery();
resul.next();
String estadoAtual =resul.getString(1);
if(estadoAtual == "S"){
btnEnv.setSelected(true);
}
}catch(SQLException se){
se.getLocalizedMessage();
}
closeLigacao();
iniLigacao();
try {
PreparedStatement stt = ligacao
.prepareStatement("UPDATE view_ecra2_bg SET Estado_BG='?' WHERE ID_Encomenda_BG=?");
Object targetSwitcher = btnGrp.getSelection().getSelectedObjects();
if(btnEnv.isSelected()){
stt.setString(1, "S");
stt.setLong(2, targetIDb);
stt.executeUpdate();
}else if(btnCon.isSelected()){
stt.setString(1, "C");
stt.setLong(2, targetIDb);
stt.executeUpdate();
}else if(btnPen.isSelected()){
stt.setString(1, "P");
stt.setLong(2, targetIDb);
stt.executeUpdate();
}else if(btnRee.isSelected()){
stt.setString(1, "R");
stt.setLong(2, targetIDb);
stt.executeUpdate();
}else if(btnAnu.isSelected()){
stt.setString(1, "X");
stt.setLong(2, targetIDb);
stt.executeUpdate();
}else {
}
if (targetSwitch!=null) {
System.out.println(targetSwitch);
stt.setLong(2, targetIDb);
stt.executeUpdate();
}
iniLigacao();
try {
String sql = "SELECT * FROM view_ecra2";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (SQLException se) {
se.getLocalizedMessage();
}
cbEstado.setSelectedIndex(0);
closeLigacao();
} catch (SQLException se) {
se.getLocalizedMessage();
} catch(NullPointerException ne){
ne.getLocalizedMessage();
ne.printStackTrace();
}
closeLigacao();
}
}
}
}
});
GridBagConstraints gbc_btnAlterarEstado = new GridBagConstraints();
gbc_btnAlterarEstado.insets = new Insets(0, 0, 0, 5);
gbc_btnAlterarEstado.gridx = 3;
gbc_btnAlterarEstado.gridy = 2;
panelPrincipal.add(btnAlterarEstado, gbc_btnAlterarEstado);
JButton btnDetalhesDeEncomenda = new JButton("Detalhes de encomenda");
btnDetalhesDeEncomenda.addActionListener(new ActionListener() {
private long targetIDb;
public void actionPerformed(ActionEvent arg0) {
if(table.getSelectedRowCount()==0){
JOptionPane.showMessageDialog(frame, "Não selecionou nada");
}else {
Object targetIdteste = table.getValueAt(table.getSelectedRow(), 0);
String targetNome = table.getValueAt(table.getSelectedRow(), 4).toString();
try {
targetIDb = (long) targetIdteste;
} catch (ClassCastException ce){
ce.getLocalizedMessage();
ce.printStackTrace();
}
iniLigacao();
try {
String sql = "SELECT Nome_Item, Quantidade, Preço FROM view_ecra3_bg WHERE ID_Encomenda=?";
PreparedStatement st = ligacao.prepareStatement(sql);
st.setLong(1, targetIDb);
ResultSet rs = st.executeQuery();
table_ecra2.setModel(DbUtils.resultSetToTableModel(rs));
textNomeShow.setText(targetNome);
textIdShow.setText(String.valueOf(targetIDb));
Double precoTotal = 0.0;
int numItems = table_ecra2.getRowCount();
for (int i = 0; i < numItems; i++) {
precoTotal += Double.parseDouble(table_ecra2
.getValueAt(i, 2).toString());
}
textTotal.setText(precoTotal+"€");
} catch (SQLException se) {
se.getLocalizedMessage();
}
CardLayout card = (CardLayout) frame.getContentPane().getLayout();
card.show(frame.getContentPane(), "panelEncomenda");
}
}
});
GridBagConstraints gbc_btnDetalhesDeEncomenda = new GridBagConstraints();
gbc_btnDetalhesDeEncomenda.insets = new Insets(0, 0, 0, 5);
gbc_btnDetalhesDeEncomenda.gridx = 5;
gbc_btnDetalhesDeEncomenda.gridy = 2;
panelPrincipal.add(btnDetalhesDeEncomenda, gbc_btnDetalhesDeEncomenda);
JPanel panelEncomenda = new JPanel();
frame.getContentPane().add(panelEncomenda, "panelEncomenda");
GridBagLayout gbl_panelEncomenda = new GridBagLayout();
gbl_panelEncomenda.columnWidths = new int[] { 181, 315, 20, 82, 184, 36, 0, 189, 73, 62, 0 };
gbl_panelEncomenda.rowHeights = new int[] { 37, 0, 0, 0, 0 };
gbl_panelEncomenda.columnWeights = new double[] { 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
Double.MIN_VALUE };
gbl_panelEncomenda.rowWeights = new double[] { 0.0, 0.0, 1.0, 0.0,
Double.MIN_VALUE };
panelEncomenda.setLayout(gbl_panelEncomenda);
JLabel label = new JLabel("");
label.setIcon(new ImageIcon("C:\\workspace\\Science4youTestes\\LogoPanelPrincipal.png"));
GridBagConstraints gbc_label = new GridBagConstraints();
gbc_label.fill = GridBagConstraints.HORIZONTAL;
gbc_label.gridwidth = 5;
gbc_label.gridheight = 2;
gbc_label.insets = new Insets(0, 0, 5, 5);
gbc_label.gridx = 0;
gbc_label.gridy = 0;
panelEncomenda.add(label, gbc_label);
JLabel lblId_1 = new JLabel("ID:");
GridBagConstraints gbc_lblId_1 = new GridBagConstraints();
gbc_lblId_1.anchor = GridBagConstraints.EAST;
gbc_lblId_1.insets = new Insets(0, 0, 5, 5);
gbc_lblId_1.gridx = 5;
gbc_lblId_1.gridy = 0;
panelEncomenda.add(lblId_1, gbc_lblId_1);
textIdShow = new JTextField();
textIdShow.setEditable(false);
GridBagConstraints gbc_textIdShow = new GridBagConstraints();
gbc_textIdShow.gridwidth = 2;
gbc_textIdShow.fill = GridBagConstraints.HORIZONTAL;
gbc_textIdShow.insets = new Insets(0, 0, 5, 5);
gbc_textIdShow.gridx = 7;
gbc_textIdShow.gridy = 0;
panelEncomenda.add(textIdShow, gbc_textIdShow);
textIdShow.setColumns(10);
JLabel lblNome_1 = new JLabel("Nome:");
GridBagConstraints gbc_lblNome_1 = new GridBagConstraints();
gbc_lblNome_1.anchor = GridBagConstraints.EAST;
gbc_lblNome_1.insets = new Insets(0, 0, 5, 5);
gbc_lblNome_1.gridx = 5;
gbc_lblNome_1.gridy = 1;
panelEncomenda.add(lblNome_1, gbc_lblNome_1);
textNomeShow = new JTextField();
textNomeShow.setEditable(false);
GridBagConstraints gbc_textNomeShow = new GridBagConstraints();
gbc_textNomeShow.gridwidth = 2;
gbc_textNomeShow.fill = GridBagConstraints.HORIZONTAL;
gbc_textNomeShow.insets = new Insets(0, 0, 5, 5);
gbc_textNomeShow.gridx = 7;
gbc_textNomeShow.gridy = 1;
panelEncomenda.add(textNomeShow, gbc_textNomeShow);
textNomeShow.setColumns(10);
JScrollPane scrollPane_1 = new JScrollPane();
GridBagConstraints gbc_scrollPane_1 = new GridBagConstraints();
gbc_scrollPane_1.fill = GridBagConstraints.BOTH;
gbc_scrollPane_1.gridwidth = 7;
gbc_scrollPane_1.insets = new Insets(0, 0, 5, 5);
gbc_scrollPane_1.gridx = 1;
gbc_scrollPane_1.gridy = 2;
panelEncomenda.add(scrollPane_1, gbc_scrollPane_1);
table_ecra2 = new JTable();
table_ecra2.setModel(new DefaultTableModel(new Object[][] {},
new String[] {}));
scrollPane_1.setViewportView(table_ecra2);
JButton btnVoltarAoMenu = new JButton("Voltar ao menu Principal");
btnVoltarAoMenu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
iniLigacao();
try {
String sql = "SELECT * FROM view_ecra2;";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
CardLayout card = (CardLayout) frame.getContentPane().getLayout();
card.show(frame.getContentPane(), "panelPrincipal");
} catch (SQLException e) {
e.printStackTrace();
}
closeLigacao();
}
});
GridBagConstraints gbc_btnVoltarAoMenu = new GridBagConstraints();
gbc_btnVoltarAoMenu.anchor = GridBagConstraints.WEST;
gbc_btnVoltarAoMenu.insets = new Insets(0, 0, 0, 5);
gbc_btnVoltarAoMenu.gridx = 1;
gbc_btnVoltarAoMenu.gridy = 3;
panelEncomenda.add(btnVoltarAoMenu, gbc_btnVoltarAoMenu);
JLabel lblTotal = new JLabel("Total:");
GridBagConstraints gbc_lblTotal = new GridBagConstraints();
gbc_lblTotal.anchor = GridBagConstraints.EAST;
gbc_lblTotal.insets = new Insets(0, 0, 0, 5);
gbc_lblTotal.gridx = 5;
gbc_lblTotal.gridy = 3;
panelEncomenda.add(lblTotal, gbc_lblTotal);
textTotal = new JTextField();
textTotal.setEditable(false);
GridBagConstraints gbc_textTotal = new GridBagConstraints();
gbc_textTotal.gridwidth = 2;
gbc_textTotal.fill = GridBagConstraints.HORIZONTAL;
gbc_textTotal.insets = new Insets(0, 0, 0, 5);
gbc_textTotal.gridx = 7;
gbc_textTotal.gridy = 3;
panelEncomenda.add(textTotal, gbc_textTotal);
textTotal.setColumns(10);
}
/**
*创建应用程序。
*/
公共财产{
初始化();
}
专用连接ligacao=null;
私人JComboxCBestado;
专用JTable表;
私有无效{
String url=“jdbc:mysql://localhost/science4estagio";
字符串user=“root”;
字符串密码=”;
试一试{
ligacao=DriverManager.getConnection(url、用户、密码);
}捕获(SQLSE异常){
se.getLocalizedMessage();
}
}
私有无效{
试一试{
if(ligacao!=null){
ligacao.close();
}
}捕获(SQLSE异常){
se.getLocalizedMessage();
}
}
/**
*初始化框架的内容。
*/
私有void初始化(){
frame=新的JFrame();
框架.立根(1001001012403);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(新的CardLayout(0,0));
JPanel panelLogin=newjpanel();
frame.getContentPane().add(panelLogin,“panelLogin”);
GridBagLayout gbl_panelLogin=新建GridBagLayout();
gbl_panelLogin.columnWidths=新的int[]{225358225,0};
gbl_panelLogin.rowHeights=newint[]{39,0,0,0,48,0};
gbl_panelLogin.columnWeights=新的双精度[]{1.0,0.0,1.0,
Double.MIN_值};
gbl_panelLogin.rowWeights=新的双精度[]{0.0,0.0,0.0,0.0,
0.0,Double.MIN_值};
setLayout(gbl_panelLogin);
JLabel lblNewLabel=新JLabel(“登录”);
lblNewLabel.setFont(新字体(“Tahoma”,Font.PLAIN,32));
GridBagConstraints GBCLBLNEWLABEL=新的GridBagConstraints();
gbc_lblNewLabel.insets=新的插入(0,0,5,5);
gbc_lblNewLabel.anchor=gridbagstraints.NORTH;
gbc_lblNewLabel.gridx=1;
gbc_lblNewLabel.gridy=0;
panelLogin.add(lblNewLabel,gbc_lblNewLabel);
JLabel lblNewLabel_1=新JLabel(“用户:”);
GridBagConstraints gbc_lblNewLabel_1=新的GridBagConstraints();
gbc_lblNewLabel_1.插图=新插图(0,0,5,5);
gbc_lblNewLabel_1.anchor=gridbagstraints.EAST;
gbc_lblNewLabel_1.gridx=0;
gbc_lblNewLabel_1.gridy=2;
panelLogin.add(lblNewLabel_1,gbc_lblNewLabel_1);
txtUser=newjtextfield();
GridBagConstraints gbc_txtUser=新的GridBagConstraints();
gbc_txtUser.insets=新的插入(0,0,5,5);
gbc_txtUser.fill=GridBagConstraints.HORIZONTAL;
gbc_txtUser.gridx=1;
gbc_txtUser.gridy=2;
panelLogin.add(txtaser、gbc_txtaser);
txtUser.setColumns(10);
JLabel lblPassowrd=新的JLabel(“密码:”);
GridBagConstraints gbc_lblPassowrd=新的GridBagConstraints();
GBClblpassowrd.anchor=gridbagstraints.EAST;
gbc_lblPassowrd.insets=新的插入(0,0,5,5);
gbc_lblPassowrd.gridx=0;
gbc_lblPassowrd.gridy=3;
panelLogin.add(lblPassowrd,gbc_lblPassowrd);
passwordField=新的JPasswordField();
addKeyListener(新的KeyAdapter(){
@凌驾
按下公共无效键(按键事件e){
如果(例如getKeyCode()==KeyEvent.VK_ENTER){
iniLigacao();
试一试{
String sql=“从视图中选择*”;
PreparedStatement st=ligacao.prepareStatement(sql);
结果集rs=st.executeQuery();
table.setModel(DbUtils.resultsetTableModel(rs));
}捕获(SQLSE异常){
se.getLocalizedMessage();
}
closeLigacao();
iniLigacao();
试一试{
准备好的报表inst=ligacao
.prepareStatement(“从utilizadorpassword中选择*,其中用户=?和密码=?”;
inst.setString(1,txtUser.getText());
inst.setString(2,passwordField.getText());
ResultSet resultado=inst.executeQuery();
int contador=0;
while(resultado.next()){
康塔多=康塔多+1;
}
如果(contador==1){
JOptionPane.showMessageDialog(null,
“Acesso Garantito”;
CardLayout卡=(CardLayout)框架
.getContentPane().getLayout();
show(frame.getContentPane(),“panelPrincipal”);
}否则如果(contador>1){
JOptionPane.showMessageDialog(null,
“Utilizador e password duplicados”);
}否则{
JOptionPane.showMessageDialog(null,
“实用程序e/ou密码勘误表”);
}
仪器关闭();
}捕获(SQLException e1){
系统输出
.println(“人造墙裙基础上的冒牌货”);
System.out.println(e1.getLocalizedMessage());
}
closeLigacao();
}
}
});
GridBagConstraints GBCU passwordField=新的GridBagConstraints();
gbc_passwordField.insets=新的insets(0,0,5,5);
gbc_passwordField.fill=GridBagConstraints.HORIZONTAL;
gbc_passwordField.gridx=1;
gbc_passwordField.gridy=3;
panelLogin.add(密码字段,gbc_密码字段);
JButton btnNewButton=新JButton(“entra”);
addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件arg0){
iniLigacao();
试一试{
String sql=“从视图中选择*”;
准备
try {
String sql = "SELECT * FROM view_ecra2 ";
PreparedStatement st = ligacao.prepareStatement(sql);
ResultSet rs = st.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (SQLException se) {
se.getLocalizedMessage();
}
String sql = "SELECT * FROM view_ecra2 ";
try (PreparedStatement st = ligacao.prepareStatement(sql)) {
try (ResultSet rs = st.executeQuery()) {
table.setModel(DbUtils.resultSetToTableModel(rs));
}
} catch (SQLException se) {
se.getLocalizedMessage();
}
BufferedImage img = ImageIO.read(getClass().getResource("resources/images/LogoPanelPrincipal.png");
lblNewLabel_2.setIcon(new ImageIcon(img));