从MySQL中提交Jframe [英] Filing a Jframe from MySQL

查看:147
本文介绍了从MySQL中提交Jframe的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

真的卡在我的项目在这里,我是相当新的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 false},
{Jane,White,Speed reading,new Integer(20),
new Boolean ,Pool,new Integer(10),new Boolean(false)}};

/ **
*启动应用程序。
* /
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();
}
}
});
}

/ **
*创建框架。
* /
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 ,new new(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} b $ b {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){
//如果您希望
,请调用此方法}
});
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);
}

}

解决方案

开始使用 JDBC教程,然后请参阅从数据库表 。此外,




  • 使用常量或工厂(如果可用),而不是不必要的构造函数,例如:

      {Nemo,Vesuvio,Pizza,65kr,7},
    {John,Doe Rowing,3,true},
    {Sue,Black,Knitting,Integer.valueOf(3),Boolean.FALSE},
    pre>

  • 使用 @Override 注释避免不必要的重载:

      @Override 
    public void run(){
    ...
    }


  • 开始使用 Java Collections Framework ,而不是数组。请注意所引用的示例如何指定诸如 List< T> 的形式参数,其中 List 是接口类型, c $ c> T 是一个通用类型参数。



Really jammed up on my project here and I'm fairly new to java and really new to databases. What I've done in my code is fill the "data" object with a bunch of words but what I want to do is fill those frames with info from a database I've made. I've been Googling and search for days and have not found anything that helps me understand what I need to do. Any help would be greatly appreciated.

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);
}

}

解决方案

Start with the JDBC tutorial, and then study the article Table From Database. Also,

  • Use constants or factories when available, rather than needless constructors, for example:

    {"Nemo", "Vesuvio", "Pizza", "65kr", 7},
    {"John", "Doe", "Rowing", 3, true},
    {"Sue", "Black", "Knitting", Integer.valueOf(3), Boolean.FALSE},
    

  • Use the @Override annotation to avoid careless overloading:

    @Override
    public void run() {
        ...
    }
    

  • Begin to embrace object orientation using the Java Collections Framework, in preference to arrays. Note how the examples cited specify formal parameters such as List<T>, where List is an interface type and T is a generic type parameter.

这篇关于从MySQL中提交Jframe的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆