Swing 使用滚动窗格禁用水平滚动条

Swing 使用滚动窗格禁用水平滚动条,swing,scrollpane,Swing,Scrollpane,我正在尝试禁用滚动窗格上的水平滚动条。。我尝试过使用setHorizontalScrollbarVisibility()方法,但它不起作用。我想让水平条消失。。我还尝试使用JScrollPane,但它没有显示我的表。。请帮忙,我应该做些什么改变 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.*;

我正在尝试禁用滚动窗格上的水平滚动条。。我尝试过使用setHorizontalScrollbarVisibility()方法,但它不起作用。我想让水平条消失。。我还尝试使用JScrollPane,但它没有显示我的表。。请帮忙,我应该做些什么改变

import java.awt.*;    
import java.awt.event.ActionEvent;     
import java.awt.event.ActionListener;    
import java.util.*;  
import javax.swing.*;   
import javax.swing.table.*;  
class Jtdemo extends    JFrame
{

DefaultTableModel dtm;

    JTextField jf=new JTextField();
    JButton jb=new JButton();
    String data1[]=new String[100];
    //JScrollPane jsp=new JScrollPane();
    JTable jt=new JTable();

    //Vector v=new Vector(10);
int i;
public Jtdemo()
{
        dtm = new DefaultTableModel();
        jt.setModel(dtm);
        jt.setForeground(Color.red);

       pane.setViewportView(jt);
        dtm.addColumn("hello");
        //dtm.addColumn("hi");
        jb.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
        String nn=jf.getText();
        String data[]=nn.split(",");
        for(i=0;i<data.length;i++)
            //v.addElement(data[i]);
                //System.out.println(data[i]);
            dtm.addRow(new Object[]{data[i],/*Comments/Assignment value*/});
            //dtm.addRow(null);
        }
        });
        jt.setBackground(Color.black);
        ScrollPane pane = new ScrollPane();
        //pane.setViewportView(jt);
        setLayout(null);
        pane.setBounds(10, 10, 500,500);
        pane.add(jt);
        jf.setBounds(10, 610, 50,25);
        jb.setBounds(610, 610, 50,25);
        //add(jt);
        add(pane);
        add(jf);
        add(jb);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setExtendedState(MAXIMIZED_BOTH);
        setVisible(true);
    }   
public static void main( String args[] )
{
    // Create an instance of the test application
    new Jtdemo();

}
}
import java.awt.*;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.util.*;
导入javax.swing.*;
导入javax.swing.table.*;
类Jtdemo扩展了JFrame
{
数字地面模型;
JTextField jf=新的JTextField();
JButton jb=新JButton();
字符串数据1[]=新字符串[100];
//JScrollPane jsp=新的JScrollPane();
JTable jt=新的JTable();
//向量v=新向量(10);
int i;
公共Jtdemo()
{
dtm=新的DefaultTableModel();
jt.setModel(dtm);
设置前景(颜色为红色);
窗格。setViewportView(jt);
dtm.addColumn(“你好”);
//dtm.addColumn(“hi”);
jb.addActionListener(新ActionListener(){
@凌驾
已执行的公共无效操作(操作事件e){
字符串nn=jf.getText();
字符串数据[]=nn.split(“,”);
对于(i=0;i只需使用:

JScrollPane pane = new JScrollPane(jt);
pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
而不是

pane.setViewportView(jt);
ScrollPane pane = new ScrollPane();
pane.add(jt);

观看下一步

为什么JTable不需要滚动窗格?谢谢@alex2410..但我也用JScrollPane设置了setViewportView(jt).这也没有显示我的表格..它是完全空白的(如果您使用我的示例中的2行而不是您的,则所有内容都将正常工作。它将仅在开始时显示tableHeader,然后在
jb
按钮的帮助下添加行。如果您在JScrollPane中有一个比滚动窗格宽的JTable,则您可以在其中拖动鼠标以“滚动”面板,即使禁用滚动条也是如此使用您在这里概述的技术。