1

ここで私のプロジェクトが本当に詰まっていて、私は 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);
}

}

4

1 に答える 1

3

JDBCチュートリアルから始めて、「データベースからのテーブル」という記事を調べてください。また、

  • たとえば、不要なコンストラクタではなく、可能な場合は定数またはファクトリを使用します。

    {"Nemo", "Vesuvio", "Pizza", "65kr", 7},
    {"John", "Doe", "Rowing", 3, true},
    {"Sue", "Black", "Knitting", Integer.valueOf(3), Boolean.FALSE},
    
  • 注釈を使用して、@Override不注意なオーバーロードを回避します。

    @Override
    public void run() {
        ...
    }
    
  • 配列ではなく、 Javaコレクションフレームワークを使用してオブジェクト指向の採用を開始します。引用された例が、などの正式なパラメータをどのように指定しているかに注意してくださいList<T>。ここListで、はインターフェイスタイプでありT、はジェネリック型パラメータです。

于 2012-11-24T14:27:54.217 に答える