我的项目真的很糟糕,我对java很新,对数据库来说真的很新。我在我的代码中所做的就是用一堆单词填充“数据”对象,但我想要做的是用我制作的数据库中的信息填充这些帧。我一直在谷歌搜索并搜索几天,但没有找到任何可以帮助我理解我需要做的事情。任何帮助将不胜感激。
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;
import java.awt.event.*;
public class Project3 extends JFrame {
private JPanel contentPane;
private JTable table_1;
private JScrollPane scrollPane;
String[] columnNames = { "Restaurant", "Dish", "Type", "Price", "Rating" };
Object[][] data = {
{ "Nemo", "Vesuvio", "Pizza", new String("65kr"), new Integer(7) },
{ "John", "Doe", "Rowing", new Integer(3), new Boolean(true) },
{ "Sue", "Black", "Knitting", new Integer(2), new Boolean(false) },
{ "Jane", "White", "Speed reading", new Integer(20),
new Boolean(true) },
{ "Joe", "Brown", "Pool", new Integer(10), new Boolean(false) } };
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Project3 frame = new Project3();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Project3() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 800, 600);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.CENTER);
panel.setLayout(null);
scrollPane = new JScrollPane();
scrollPane.setBounds(139, 162, 469, 420);
panel.add(scrollPane);
table_1 = new JTable(data, columnNames);
scrollPane.setViewportView(table_1);
table_1.setFillsViewportHeight(true);
table_1.setModel(new DefaultTableModel(new Object[][] {
{ "Nemo", "blah", "Pizza", "65kr", new Integer(7) },
{ "Nemo", "blah", "Rowing", "1 000 000kr", Boolean.TRUE },
{ "Sue", "blah", "Knitting", new Integer(2), Boolean.FALSE },
{ "Jane", "blah", "Speed reading", new Integer(20),
Boolean.TRUE },
{ "Joe", "Brown", "Pool", new Integer(10), Boolean.FALSE },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null },
{ null, null, null, null, null }, }, new String[] {
"Restaurant", "Dish", "Type", "Price", "Rating" }));
JButton btnChangeadd = new JButton("Change/Add");
btnChangeadd.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// CALL CHANGE METHOD HERE
}
});
btnChangeadd.setFont(new Font("Lucida Grande", Font.PLAIN, 16));
btnChangeadd.setBounds(143, 104, 175, 42);
panel.add(btnChangeadd);
JLabel lblNewLabel = new JLabel("Welcome RestaurantID");
lblNewLabel.setFont(new Font("Lucida Grande", Font.PLAIN, 24));
lblNewLabel.setBounds(264, 56, 260, 36);
panel.add(lblNewLabel);
JButton button = new JButton("+");
button.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// CALL SOMETHING HERE IF YOU WANT
}
});
button.setBounds(66, 248, 40, 29);
panel.add(button);
JButton button_1 = new JButton("-");
button_1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
}
});
button_1.setBounds(66, 289, 40, 29);
panel.add(button_1);
JButton btnDelete = new JButton("Delete");
btnDelete.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//DELETE METHOD
}
});
btnDelete.setFont(new Font("Lucida Grande", Font.PLAIN, 16));
btnDelete.setBounds(344, 104, 191, 42);
panel.add(btnDelete);
JButton btnLogOut = new JButton("Log out");
btnLogOut.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
}
});
btnLogOut.setBounds(667, 6, 117, 29);
panel.add(btnLogOut);
}
}
答案 0 :(得分:3)
从JDBC tutorial开始,然后研究文章Table From Database。此外,
在可用时使用常量或工厂,而不是不必要的构造函数,例如:
{"Nemo", "Vesuvio", "Pizza", "65kr", 7},
{"John", "Doe", "Rowing", 3, true},
{"Sue", "Black", "Knitting", Integer.valueOf(3), Boolean.FALSE},
使用@Override
注释以避免粗心过载:
@Override
public void run() {
...
}
开始使用Java Collections Framework包含对象方向,而不是数组。请注意引用的示例如何指定正式参数,例如List<T>
,其中List
是接口类型,T
是泛型类型参数。