Swing 使用滚动窗格禁用水平滚动条
我正在尝试禁用滚动窗格上的水平滚动条。。我尝试过使用setHorizontalScrollbarVisibility()方法,但它不起作用。我想让水平条消失。。我还尝试使用JScrollPane,但它没有显示我的表。。请帮忙,我应该做些什么改变Swing 使用滚动窗格禁用水平滚动条,swing,scrollpane,Swing,Scrollpane,我正在尝试禁用滚动窗格上的水平滚动条。。我尝试过使用setHorizontalScrollbarVisibility()方法,但它不起作用。我想让水平条消失。。我还尝试使用JScrollPane,但它没有显示我的表。。请帮忙,我应该做些什么改变 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.*;
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,则您可以在其中拖动鼠标以“滚动”面板,即使禁用滚动条也是如此使用您在这里概述的技术。