现有一个跑马灯形式的滚动窗口类 Frame 另一个类是DBcon DBcon现在已经写好,能和数据库连接,也能查看到我需要看的数据, 但如何在Frame类里面把DBcon的数据滚动显示出来?
代码如下:
Frame类:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.HeadlessException;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.DriverManager;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JViewport;
import javax.swing.Timer; public class Frame extends JFrame {
private Timer timer;
private JLabel view;
private JViewport window; public static void main(String[] args)
{
JFrame frm = new Frame("");
frm.setDefaultCloseOperation(EXIT_ON_CLOSE);
frm.pack();
frm.setSize(Toolkit.getDefaultToolkit().getScreenSize().width, frm.getHeight());frm.setVisible(true); } public Frame(String title) throws HeadlessException
{
super(title);
initComponents();
Toolkit t=this.getToolkit();
Dimension d=t.getScreenSize();
setBounds( 0 , 9*d.height/10 , d.width , d.height/10 );
setUndecorated(true); addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e)
{
anchor = new Point();
anchor.x = -window.getExtentSize().width;
timer.start();
}
});
addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent me) {
timer.stop();
}
});
addMouseListener(new MouseAdapter() {
public void mouseExited(MouseEvent me) {
timer.restart();
}
});timer = new Timer(100, new ActionListener() {
public void actionPerformed(ActionEvent e) {
animate();
}
});
timer.setInitialDelay(0);
} private void initComponents()
{
view = new JLabel("sssssssss");
view.setFont(Font.decode("Dialog-BOLD-36"));
view.setForeground(Color.BLUE); window = new JViewport();
window.setView(view);
getContentPane().add(window);
} Point anchor;
private void animate()
{
Dimension extSize = window.getExtentSize();
Dimension viewSize = view.getPreferredSize();
anchor.x += 10;
window.setViewPosition(anchor);
if (anchor.x > viewSize.width)
anchor.x = -extSize.width;
}
}
DBcon类:
import java.sql.*;
public class test1{
public static void main(String args[]){
Connection con;
Statement sql;
ResultSet rs;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
System.out.println(""+e);
}
try{
con=DriverManager.getConnection("jdbc:odbc:db2","","");
sql=con.createStatement();
rs=sql.executeQuery("Select * FROM user");
while(rs.next()){
String name=rs.getString(1);
System.out.println("姓名:"+name);
}
con.close();
}
catch(SQLException el){}
}
}
问题补充:如何在Frame类里面将DBcon查到的内容显示出来呢?我现在Frame显示的内容是自己固定输入的,我想要把输入内容从数据库里掉出来,显示数据库的内容.
我的理解是view = new JLabel("sssssssss"); 这个括号里的内容显示是固定的,要变成数据库的内容是不是该改成一个什么方法还是什么,请问要如何改,除了改这里,其他地方还要改吗?不好意思,我是JAVA新手,不太会,问的问题可能有点肤浅,但还是麻烦各位大虾不嫌弃的帮我解答解答,再此万分感谢,顺便祝大家圣诞快乐,
代码如下:
Frame类:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.HeadlessException;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.DriverManager;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JViewport;
import javax.swing.Timer; public class Frame extends JFrame {
private Timer timer;
private JLabel view;
private JViewport window; public static void main(String[] args)
{
JFrame frm = new Frame("");
frm.setDefaultCloseOperation(EXIT_ON_CLOSE);
frm.pack();
frm.setSize(Toolkit.getDefaultToolkit().getScreenSize().width, frm.getHeight());frm.setVisible(true); } public Frame(String title) throws HeadlessException
{
super(title);
initComponents();
Toolkit t=this.getToolkit();
Dimension d=t.getScreenSize();
setBounds( 0 , 9*d.height/10 , d.width , d.height/10 );
setUndecorated(true); addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e)
{
anchor = new Point();
anchor.x = -window.getExtentSize().width;
timer.start();
}
});
addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent me) {
timer.stop();
}
});
addMouseListener(new MouseAdapter() {
public void mouseExited(MouseEvent me) {
timer.restart();
}
});timer = new Timer(100, new ActionListener() {
public void actionPerformed(ActionEvent e) {
animate();
}
});
timer.setInitialDelay(0);
} private void initComponents()
{
view = new JLabel("sssssssss");
view.setFont(Font.decode("Dialog-BOLD-36"));
view.setForeground(Color.BLUE); window = new JViewport();
window.setView(view);
getContentPane().add(window);
} Point anchor;
private void animate()
{
Dimension extSize = window.getExtentSize();
Dimension viewSize = view.getPreferredSize();
anchor.x += 10;
window.setViewPosition(anchor);
if (anchor.x > viewSize.width)
anchor.x = -extSize.width;
}
}
DBcon类:
import java.sql.*;
public class test1{
public static void main(String args[]){
Connection con;
Statement sql;
ResultSet rs;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
System.out.println(""+e);
}
try{
con=DriverManager.getConnection("jdbc:odbc:db2","","");
sql=con.createStatement();
rs=sql.executeQuery("Select * FROM user");
while(rs.next()){
String name=rs.getString(1);
System.out.println("姓名:"+name);
}
con.close();
}
catch(SQLException el){}
}
}
问题补充:如何在Frame类里面将DBcon查到的内容显示出来呢?我现在Frame显示的内容是自己固定输入的,我想要把输入内容从数据库里掉出来,显示数据库的内容.
我的理解是view = new JLabel("sssssssss"); 这个括号里的内容显示是固定的,要变成数据库的内容是不是该改成一个什么方法还是什么,请问要如何改,除了改这里,其他地方还要改吗?不好意思,我是JAVA新手,不太会,问的问题可能有点肤浅,但还是麻烦各位大虾不嫌弃的帮我解答解答,再此万分感谢,顺便祝大家圣诞快乐,
解决方案 »
- 关于effective java2 第66条的程序
- 我用java建立了一个JTree,我如何给每个不同的结点添加不同的右键菜单?
- 写一个简单for循环输出一个等腰三角形。。求解答!!
- 在WEB那边没人看...发这边吧.....JSP获得session中数据的问题
- 我需要学习java语言,需要安装什么东西才能够运行java程序?
- JDBC驅動程序打包問題,求命!!
- 请大家推荐一本关于java的书?
- 200分救命呀,如何能唯一获得选择的JTree的结点呀,分不够再给,过年了嘛
- 怎么运行小应用程序??
- 如何得到一个long类型变量的显示长度
- 怎样让这个程序出来的界面正常点啊!原本是awt,但是改成swing就有问题了
- 将数据库中的数据导入excel
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.HeadlessException;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JViewport;
import javax.swing.Timer;public class Frame extends JFrame{
private Timer timer;
private JLabel view;
private JViewport window; public Frame(String title) throws HeadlessException{
super(title);
initComponents();
Toolkit t = this.getToolkit();
Dimension d = t.getScreenSize();
setBounds(0,9 * d.height / 10,d.width,d.height / 10);
setUndecorated(true);
addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e){
anchor = new Point();
anchor.x = -window.getExtentSize().width;
timer.start();
}
});
addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent me){
timer.stop();
}
});
addMouseListener(new MouseAdapter() {
public void mouseExited(MouseEvent me){
timer.restart();
}
});
timer = new Timer(100,new ActionListener() {
public void actionPerformed(ActionEvent e) {
animate();
}
});
timer.setInitialDelay(0);
} private void initComponents(){
String content = test1.getContent();
view = new JLabel(content);
view.setFont(Font.decode("Dialog-BOLD-36"));
view.setForeground(Color.BLUE);
window = new JViewport();
window.setView(view);
getContentPane().add(window);
}
Point anchor;
private void animate(){
Dimension extSize = window.getExtentSize();
Dimension viewSize = view.getPreferredSize();
anchor.x += 10;
window.setViewPosition(anchor);
if(anchor.x > viewSize.width) anchor.x = -extSize.width;
}
public static void main(String[] args){
JFrame frm = new Frame("");
frm.setDefaultCloseOperation(EXIT_ON_CLOSE);
frm.pack();
frm.setSize(Toolkit.getDefaultToolkit().getScreenSize().width,frm.getHeight());
frm.setVisible(true);
}
}test1.java //类的名字应该用大写开头import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class test1{
public static String getContent(){
Connection con;
Statement sql;
ResultSet rs;
StringBuffer strb = new StringBuffer();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e){
System.out.println("" + e);
}
try{
con = DriverManager.getConnection("jdbc:odbc:db2","","");
sql = con.createStatement();
rs = sql.executeQuery("Select * FROM user");
String name;
while(rs.next()){
name = rs.getString(1);
System.out.println("姓名:" + name);
strb.append("姓名:").append(name);
}
con.close();
}catch(SQLException el){
}
return strb.toString();
} public static void main(String args[]){
System.out.println(getContent());
}
}
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@100.1.1.200:1521:orcl", "fsgl", "fsgl");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public boolean isVerifyUserPassword(String user, String password) {
Connection conn = DBConnection.getConnection();
String sql = "select * from admin_table where username=? and password=?";
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = conn.prepareStatement(sql) ;
ps.setString(1, user);
ps.setString(2, password);
rs = ps.executeQuery();
if (rs.next()) return true;
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {rs.close();}
if (ps != null) {ps.close();}
DBConnection.closeConnection(conn);
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}