在JScrollPane中放入任何组件、label/textArea/JPanel等,无论这些组件设置的多大,即便超出了JScrollPane的大小,JScrollPane也不出现滚动条上的滑块,也就是说无法上下左右滚动。我本意是在JScrollPane中放一个JPanel,然后在JPanel上绘制一些图像,然后用滚动条可以上下左右翻动,但是无法是实现,求教!
解决方案 »
- java activation 是干什么的?
- &和&&分别是什么意思,一样吗?
- 关于selectionKey.iswritable()这方法的问题
- package 的问题
- 一个关于newInstance简单的java小问题!!!
- Java开发中遇到的一个怪现象,不知道大家是否遇到过
- ◆如果一个类中的成员变量没有明确声明为public或private,那它是什么型的?◆
- jdk1.5 1.6.1.7的区别
- 诸位大哥,如何从一个字符串转化成ASCII串,再从ASCII串转回字符串
- 在j2se1.4下运行assert (2+2)==5;出现warning: as of release 1.4, assert is a keyword, and may not be used as an identifier
- 关于java泛型的问题??
- c#写的dll 用java调用,本机可以,别人机器不行啊
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;import com.library.conn.NetConn;class Borlistbookfrm extends JFrame implements ActionListener
{
Object a[][];
Object colname[]={"Óû§","ÊéÃû","½èÊéʱ¼ä","»¹Êéʱ¼ä","±¸×¢","ÊÇ·ñ¹é»¹"};
JLabel l_name,l_bookname;
JTextField t_name,t_bookname;
JTable table;
Container container;
JButton b_enter,b_back;
JProgressBar p_bar;
JPanel pan1,pan2,pan3;
String a1,a2;
NetConn sql;
Statement sqll;
ResultSet rs;
Borlistbookfrm()
{
//½çÃæ²¼¾Ö
super("½èÊéÁбí");
l_name=new JLabel("Ãû³Æ£º");
l_bookname=new JLabel("×÷Õߣº");
t_name=new JTextField("",10);
t_bookname=new JTextField("",10);
a=new Object[30][6];
table=new JTable(a,colname);
setSize(300,300);setVisible(true);
b_enter=new JButton("È·¶¨");
b_back=new JButton("·µ»Ø");
b_enter.addActionListener(this);
b_back.addActionListener(this);
pan1=new JPanel();pan2=new JPanel();pan3=new JPanel();
pan1.add(l_name);pan1.add(t_name);
pan1.add(l_bookname);pan1.add(t_bookname);pan1.add(b_enter);pan1.add(b_back);
p_bar=new JProgressBar(JProgressBar.VERTICAL,0,50);
p_bar.setStringPainted(true);
container=getContentPane();
container.add(pan1,BorderLayout.SOUTH);
container.add(new JScrollPane(table),BorderLayout.CENTER);
container.add(p_bar,BorderLayout.WEST);
//½¨Á¢Êý¾Ý¿âÁ¬½Ó
sql=new NetConn();
setBounds(230,150,650,350);
}
public void actionPerformed(ActionEvent eb)
{
//µ¥»÷·µ»Ø°´Å¥µÄʼþ´¦Àí³ÌÐò
if(eb.getSource()==b_back)
{
dispose();
}
//µ¥»÷È·¶¨°´Å¥µÄʼþ´¦Àí³ÌÐò
if(eb.getSource()==b_enter)
{
try
{
int i=0;
sqll=sql.connect();
//»ñÈ¡½èÔÄÕßµÄÃû³ÆºÍ½èÔÄͼÊéµÄÃû×Ö
a1="'"+"%"+t_name.getText().trim()+"%"+"'";
a2="'"+"%"+t_bookname.getText().trim()+"%"+"'";
//¸ù¾Ý½èÔÄÕßÃû³ÆºÍ½èÔÄͼÊéµÄÃû×Ö½øÐвéѯ
String temp="select * from bookbrowse"+" where studentname like "+a1+" and bookname like "+a2;
rs=sqll.executeQuery(temp);
//½«½á¹û¼¯ÖеļǼÏÔʾ
while(rs.next())
{
a[i][0]=rs.getString(2);a[i][1]=rs.getString(3);a[i][2]=rs.getString(4);a[i][3]=rs.getDate(5);
a[i][4]=rs.getString(6);a[i][5]=rs.getString(7);
i++;
p_bar.setValue(i);;p_bar.setString("²éѯÁË"+i+"Ìõ¼Ç¼");
}
}
catch(SQLException ed)
{
System.out.print(ed);
}
}
}
}希望对你有帮助
期待你的回复。
是连接数据库
package com.library.conn;import java.sql.*;
//Êý¾Ý¿âÁª½ÓÀà
public class NetConn
{
Connection con;
Statement sql;
public Statement connect()
{
try
{
//ÔØÈëÇý¶¯³ÌÐò×Ö·û´®
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e1)
{
}
try
{
//ͨ¹ýJDBC URLµÃµ½Connetction¶ÔÏó
con=DriverManager.getConnection("jdbc:odbc:library");
//ͨ¹ýConnection¶ÔÏó´´½¨Statement¶ÔÏó
sql=con.createStatement();
}
catch(SQLException e2)
{}
return sql;
}
}
用Borladn中附带的XYLayout可以,该布局管理器可以指定组件在父组件中的绝对位置坐标,比如希望JScrollPanel中的panel长800,宽800,
可以用XYLayout这种布局管理器在panel中800,800的位置放一个组件,这样外面的滚动条就出现了
jPanel.setPreferredSize(new Dimension(800,800));