getviewport

JAVA,怎样将控制台上的数据显示在GUI界面上

假设你的文本框是text1
那你在按了查询后text1.setText();就可以 了

java中选择框的使用方法

java.awt
类 List
java.lang.Object
java.awt.Component
java.awt.List
所有已实现的接口:
ImageObserver, ItemSelectable, MenuContainer, Serializable, Accessible
——————————————————————————–
public class Listextends Componentimplements ItemSelectable, AccessibleList 组件为用户提供了一个可滚动的文本项列表。可设置此 list,使其允许用户进行单项或多项选择。
例如以下代码:
——————————————————————————–
List lst = new List(4, false);
lst.add(“Mercury“);
lst.add(“Venus“);
lst.add(“Earth“);
lst.add(“JavaSoft“);
lst.add(“Mars“);
lst.add(“Jupiter“);
lst.add(“Saturn“);
lst.add(“Uranus“);
lst.add(“Neptune“);
lst.add(“Pluto“);
cnt.add(lst);

——————————————————————————–
当 cnt 为容器时,将生成以下滚动列表:
如果 List 允许进行多项选择,则单击已选中的项时,将取消选中该项。在上面的示例中,一次只能从滚动列表中选择一项,因为创建新的滚动列表时,第二个参数为 false。如果 List 不允许进行多项选择,则选择某一项会导致其他选中的项取消选中。
注意,本示例中显示的列表是用四个可视行创建的。创建该列表之后,不可更改可视行的数量。默认的 List 是用四行创建的,所以 lst = new List() 与 list = new List(4, false) 等效。
从 Java 1.1 开始,AWT(Abstract Window Toolkit,抽象窗口工具包)会把列表上发生的所有鼠标、键盘和焦点事件发送给 List 对象。(维护旧的 AWT 事件模型的目的是为了向后兼容,不推荐使用它。)
当用户选中或取消选中某项时,AWT 将向列表发送一个 ItemEvent 实例。当用户双击滚动列表中的某一项时,AWT 会在紧随项事件后向列表发送一个 ActionEvent 实例。当用户选中列表中的某项,按下 return 键时,AWT 也会生成一个动作事件。
如果应用程序需要基于此列表中用户选中或激活的项执行某个动作,则应该相应地实现 ItemListener 或 ActionListener,并注册新的侦听器,以便在此列表中接收事件。
对于多项选择滚动列表,使用外部动作(如单击按钮)来触发动作被认为是一种更好的用户界面。
从以下版本开始:
JDK1.0
另请参见:
ItemEvent, ItemListener, ActionEvent, ActionListener, 序列化表格
——————————————————————————–
嵌套类摘要
protected class List.AccessibleAWTList
此类实现 List 类的可访问性支持。
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
字段摘要
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
构造方法摘要
List()
创建新的滚动列表。
List(int rows)
创建一个用指定可视行数初始化的新滚动列表。
List(int rows, boolean multipleMode)
创建一个初始化为显示指定行数的新滚动列表。
方法摘要
void add(String item)
向滚动列表的末尾添加指定的项。
void add(String item, int index)
向滚动列表中索引指示的位置添加指定的项。
void addActionListener(ActionListener l)
添加指定的动作侦听器以从此列表接收动作事件。
void addItem(String item)
已过时。 由 add(String) 取代。
void addItem(String item, int index)
已过时。 由 add(String, int) 取代。
void addItemListener(ItemListener l)
添加指定的项侦听器以接收此列表的项事件。
void addNotify()
创建列表的同位体。
boolean allowsMultipleSelections()
已过时。 从 JDK version 1.1 开始,由 isMultipleMode() 取代。
void clear()
已过时。 从 JDK version 1.1 开始,由 removeAll() 取代。
int countItems()
已过时。 从 JDK version 1.1 开始,由 getItemCount() 取代。
void delItem(int position)
已过时。 由 remove(String) 和 remove(int) 取代。
void delItems(int start, int end)
已过时。 从 JDK version 1.1 开始,后来不再公开使用。只希望作为包私有方法时保留此方法。
void deselect(int index)
取消选择指定索引处的项。
AccessibleContext getAccessibleContext()
获取与此 List 关联的 AccessibleContext。
ActionListener getActionListeners()
返回已在此列表上注册的所有动作侦听器的数组。
String getItem(int index)
获取与指定索引关联的项。
int getItemCount()
获取列表中的项数。
ItemListener getItemListeners()
返回已在此列表上注册的所有项侦听器的数组。
String getItems()
获取列表中的项。
《T extends EventListener》
T
getListeners(Class《T》 listenerType)
返回目前已在此 List 上注册为 FooListener 的所有对象的数组。
Dimension getMinimumSize()
确定此滚动列表的最小大小。
Dimension getMinimumSize(int rows)
获取具有指定行数的列表的最少维数。
Dimension getPreferredSize()
获取此滚动列表的首选大小。
Dimension getPreferredSize(int rows)
获取具有指定行数的列表的首选维数。
int getRows()
获取此列表中的可视行数。
int getSelectedIndex()
获取列表中选中项的索引。
int getSelectedIndexes()
获取列表中选中的索引。
String getSelectedItem()
获取此滚动列表中选中的项。
String getSelectedItems()
获取此滚动列表中选中的项。
Object getSelectedObjects()
获取对象数组中此滚动列表的选中项。
int getVisibleIndex()
获取上次由 makeVisible 方法使其可视的项的索引。
boolean isIndexSelected(int index)
确定是否已选中此滚动列表中的指定项。
boolean isMultipleMode()
确定此列表是否允许进行多项选择。
boolean isSelected(int index)
已过时。 从 JDK version 1.1 开始,由 isIndexSelected(int) 取代。
void makeVisible(int index)
使指定索引处的项可视。
Dimension minimumSize()
已过时。 从 JDK version 1.1 开始,由 getMinimumSize() 取代。
Dimension minimumSize(int rows)
已过时。 从 JDK version 1.1 开始,由 getMinimumSize(int) 取代。
protected String paramString()
返回表示此滚动列表状态的参数字符串。
Dimension preferredSize()
已过时。 从 JDK version 1.1 开始,由 getPreferredSize() 取代。
Dimension preferredSize(int rows)
已过时。 从 JDK version 1.1 开始,由 getPreferredSize(int) 取代。
protected void processActionEvent(ActionEvent e)
处理发生在此列表上的动作事件,方法是将这些事件指派给所有已注册的 ActionListener 对象。
protected void processEvent(AWTEvent e)
此滚动列表的进程事件。
protected void processItemEvent(ItemEvent e)
处理发生在此列表上的项事件,方法是将这些事件指派给所有已注册的 ItemListener 对象。
void remove(int position)
从此滚动列表中移除指定位置处的项。
void remove(String item)
从列表中移除项的第一次出现。
void removeActionListener(ActionListener l)
移除指定的动作侦听器,以便不再从此列表接收动作事件。
void removeAll()
从此列表中移除所有项。
void removeItemListener(ItemListener l)
移除指定的项侦听器,以便不再从此列表接收项事件。
void removeNotify()
移除此列表的同位体。
void replaceItem(String newValue, int index)
使用新字符串替换滚动列表中指定索引处的项。
void select(int index)
选择滚动列表中指定索引处的项。
void setMultipleMode(boolean b)
设置确定此列表是否允许进行多项选择的标志。
void setMultipleSelections(boolean b)
已过时。 从 JDK version 1.1 开始,由 setMultipleMode(boolean) 取代。

怎么把数据库表的内容传入JTable

这里的表是指JTable吗?
是的话
这里有个运行通过的程序:
import javax.swing.*;
import javax.swing.table.JTableHeader;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
public class Test extends JFrame{
// 定义组件
private JScrollPane scpDemo;
private JTableHeader jth;
private JTable tabDemo;
private JButton btnShow;
// 构造方法
public Test(){
// 窗体的相关属性的定义
super(“JTable数据绑定示例“);
this.setSize(330,400);
this.setLayout(null);
this.setLocation(100,50);
// 创建组件
this.scpDemo = new JScrollPane();
this.scpDemo.setBounds(10,50,300,270);
this.btnShow = new JButton(“显示数据“);
this.btnShow.setBounds(10,10,300,30);
// 给按钮注册监听
this.btnShow.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
btnShow_ActionPerformed(ae);
}
});
// 将组件加入到窗体中
add(this.scpDemo);
add(this.btnShow);
// 显示窗体
this.setVisible(true);
}
// 点击按钮时的事件处理
public void btnShow_ActionPerformed(ActionEvent ae){
// 以下是连接数据源和显示数据的具体处理方法,请注意下
try{
// 获得连接
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);
Connection conn = DriverManager.getConnection(“jdbc:odbc:localServer“,“sa“,““);
// 建立查询条件
String sql = “select * from localServer“;
PreparedStatement pstm = conn.prepareStatement(sql);
// 执行查询
ResultSet rs = pstm.executeQuery();
// 计算有多少条记录
int count = 0;
while(rs.next()){
count++;
}
rs = pstm.executeQuery();
// 将查询获得的记录数据,转换成适合生成JTable的数据形式
Object;
count = 0;
while(rs.next()){
info = Integer.valueOf( rs.getInt(“id“));
info = rs.getString(“name“);
info = Integer.valueOf( rs.getInt(“age“) );
info = rs.getString(“sex“);
count++;
}
// 定义表头
String title = {“学号“,“姓名“,“年龄“,“性别“};
// 创建JTable
this.tabDemo = new JTable(info,title);
// 显示表头
this.jth = this.tabDemo.getTableHeader();
// 将JTable加入到带滚动条的面板中
this.scpDemo.getViewport().add(tabDemo);
}catch(ClassNotFoundException cnfe){
JOptionPane.showMessageDialog(null,“数据源错误“,“错误“,JOptionPane.ERROR_MESSAGE);
}catch(SQLException sqle){
JOptionPane.showMessageDialog(null,“数据操作错误“,“错误“,JOptionPane.ERROR_MESSAGE);
}
}
public static void main(String args){
new Test();
}
}
这是之前回答另一个类似问题时用的例子
先看下吧

Java滚动条如何实现

JFrame 中添加了一JPanel JPanel里有一JTextArea
向JTextArea中添加滚动条
JTextArea txaDisplay = new JTextArea();
JScrollPane scroll = new JScrollPane(txaDisplay);
//分别设置水平和垂直滚动条自动出现
scroll.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scroll.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scroll.getViewport().add(txaDisplay);
JPanel jpanel=new JPanel();
jpanel.add(scroll);
or
//分别设置水平和垂直滚动条总是出现
scroll.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

Java Web里面文本域怎么写

写了一个满足你的图片的要求,你看看,有什么问题百度hi我:
import java.awt.BorderLayout;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.TitledBorder;
public class TestDemo extends JFrame{
private static final long serialVersionUID = -5355432125621015300L;
private Option;
public TestDemo () {
init();
}
private void init(){
setTitle(“我的文本域“);
setSize(300,200);
setContentPane(createContentPane());
}
private JPanel createContentPane(){
JPanel pane = new JPanel(new BorderLayout());
pane.add(BorderLayout.NORTH,createQuestionPane());
pane.add(BorderLayout.SOUTH,createOptionsPane());

return pane;
}
private JPanel createOptionsPane(){
JPanel pane = new JPanel();
Option a = new Option(0,“A“);
Option b = new Option(1,“B“);
Option c = new Option(2,“C“);
Option d = new Option(3,“D“);
options=a;
options=b;
options=c;
options=d;
pane.add(a);
pane.add(b);
pane.add(c);
pane.add(d);
return pane;
}
private JScrollPane createQuestionPane() {
JScrollPane pane = new JScrollPane();
pane.setBorder(new TitledBorder(“题目“));
JTextArea questionArea = new JTextArea();
questionArea.setRows(6);
questionArea.setText(“问题\nA.\nB.\nC.\nD.“);
questionArea.setLineWrap(true);
questionArea.setEditable(false);
pane.getViewport().add(questionArea);
return pane;
}
class Option extends JCheckBox{
private static final long serialVersionUID = 5569918347028393191L;
int val;
public Option(int val, String txt) {
super(txt);
this.val = val;
}
}
public static void main(Stringargs){
TestDemo td=new TestDemo();
td.setVisible(true);
}
}

JAVA中的 jScrollPane1.getViewport().add(jTable1, null);是什么意思啊

jScrollPane1.getViewport().add(jTable1, null);
jScrollPane1:控件,滚动条
getViewport():设置可见
add:增件一个table
实现滚动条滑动。
如何不用鼠标拖动就可以实现滚动条的滑动?
如 有一个Jtextarea在滚动条容器中,两个按钮a,b.如何使点a时textarea下(或上)滑一行,点b时下滑一页?

—————————————————————

应该不是很难了,我给你做了一个例子,看看试不是这种效果!下滑多少你可以自己改变一下数字就行
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;

public class moveScroll extends JFrame implements ActionListener{
JScrollPane jScrollPane1 = new JScrollPane();
JTextArea jTextArea1 = new JTextArea();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
public moveScroll() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String args) {
moveScroll moveScroll1 = new moveScroll();
moveScroll1.setSize(400,300);
moveScroll1.setVisible(true);
moveScroll1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
jScrollPane1.setBounds(new Rectangle(28, 29, 349, 177));
jTextArea1.setText(“jTextArea1“);
jButton1.setBounds(new Rectangle(35, 237, 90, 33));
jButton1.setText(“up“);
jButton1.addActionListener(this);
jButton2.setBounds(new Rectangle(174, 238, 98, 34));
jButton2.setText(“down“);
jButton2.addActionListener(this);
this.getContentPane().add(jScrollPane1, null);
this.getContentPane().add(jButton2, null);
this.getContentPane().add(jButton1, null);
jScrollPane1.getViewport().add(jTextArea1, null);
}

public void actionPerformed(ActionEvent e){
if(e.getSource().equals(jButton1)){
if(jScrollPane1.getVerticalScrollBar().getWidth()》0){
if(jScrollPane1.getViewport().getViewPosition().getY()》0){
jScrollPane1.getViewport().setViewPosition(
new Point((int)jScrollPane1.getViewport().getViewPosition().getX(),
(int)jScrollPane1.getViewport().getViewPosition().getY() – 5));
}
}
}else if(e.getSource().equals(jButton2)){
if(jScrollPane1.getVerticalScrollBar().getWidth()》0){
if(jScrollPane1.getViewport().getViewPosition().getY()《 (jTextArea1.getHeight() – jScrollPane1.getHeight())){
jScrollPane1.getViewport().setViewPosition(
new Point((int)jScrollPane1.getViewport().getViewPosition().getX(),
(int)jScrollPane1.getViewport().getViewPosition().getY() + 5));

}
}
}
}
}

Java 怎么给JFrame添加背景图片

//分少点,就给你个JFrame的例子吧。呵呵,善用搜索引擎。
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

public class BackgroundImage extends JFrame
{
JScrollPane scrollPane;
ImageIcon icon;
Image image;

public BackgroundImage()
{
icon = new ImageIcon(“bgpanel.jpg“);

JPanel panel = new JPanel()
{
protected void paintComponent(Graphics g)
{
// Dispaly image at at full size
g.drawImage(icon.getImage(), 0, 0, null);

// Scale image to size of component
// Dimension d = getSize();
// g.drawImage(icon.getImage(), 0, 0, d.width, d.height, null);
// Fix the image position in the scroll pane
// Point p = scrollPane.getViewport().getViewPosition();
// g.drawImage(icon.getImage(), p.x, p.y, null);
super.paintComponent(g);
}
};
panel.setOpaque( false );
panel.setPreferredSize( new Dimension(400, 400) );
scrollPane = new JScrollPane( panel );
getContentPane().add( scrollPane );

JButton button = new JButton( “Hello“ );
panel.add( button );
}

public static void main(String args)
{
BackgroundImage frame = new BackgroundImage();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
frame.setLocationRelativeTo( null );
frame.setVisible(true);
}
}

Java里JScrollpane的滚动条为何会弹到接近底部

mport javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ScrollIt extends JFrame
{
JScrollPane spContainer;
JTextArea taedit;
JButton bScroll;
public ScrollIt()
{
spContainer=new JScrollPane();
taedit=new JTextArea();
spContainer.getViewport().add(taedit);
bScroll=new JButton(“Scroll to last line“);
bScroll.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JScrollBar sbar=spContainer.getVerticalScrollBar();
sbar.setValue(sbar.getMaximum());
}
});
for(int i=0;i《40;i++)
taedit.append(“line“+i+“\n“);
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(spContainer,BorderLayout.CENTER);
this.getContentPane().add(bScroll,BorderLayout.NORTH);
this.setSize(500,500);
this.setVisible(true);
}
public static void main(String args)
{
new ScrollIt();
}
}

怎么让scrollPane总是显示滚动条

1. 利用JTextArea的selectAll();方法在添加信息之后强制将光标移动到最后一行。据说是Aviva中采用的方式。
2.使用JTextArea的setCaretPosition();手动设置光标的位置为最后一行。人气颇高。使用方法也很简单,如下:textArea.setCaretPosition(textArea.getDocument().getLength());
3.(copy的)在JTextArea加载了自动滚动条JScroll之后,将JTextArea加入到JScrolPanel的ViewPort中: (有一些Bug,使得图像有点闪烁)
recvScrollPane.getViewport().add(recvArea, null);
然后在JTextArea插入最后一条新消息之后,将滚动条的Viewport重新设置到最底端的位置:
int height = 20;
Point p = new Point();
p.setLocation(0, recvArea.getLineCount() * height);
recvScrollPane.getViewport().setViewPosition(p);
4.网上以为仁兄用英文说的tricky treatment
JTextPane pane = new JTextPane();… // add some text to the JTextPane…
Document doc = pane.getDocument();
pane.select(doc.getLength(), doc.getLength()); // this should enforce the viewport move to where the line being selected.

5.这似乎是最常用的方法,但是实际使用情况是只能到倒数第二行。
JScrollBar sbar=spContainer.getVerticalScrollBar();
sbar.setValue(sbar.getMaximum());