Tag: jscrollpane

如何将水平/垂直滚动条添加到JScrollPane

我想在我的JScrollPane中添加水平滚动条,因为我的表现在看起来如下所示: 这是我创建表的代码: this.table = new JTable(); this.table.setShowGrid(false); this.table.getTableHeader().setFont(ReportViewConstants.TABLE_FONT); this.table.setFont(ReportViewConstants.TABLE_FONT); this.scrollPane = new JScrollPane(this.table); Dimension size = new Dimension(300, 400); this.scrollPane.setPreferredSize(size); this.scrollPane.setMinimumSize(size); this.scrollPane.getViewport().setBackground(Color.WHITE); 你能指出我做错了什么吗? 当我更改行以创建JScrollPane时: this.scrollPane = new JScrollPane(this.table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 滚动条在那里,但我仍然无法水平滚动。 请参见下面的屏幕截图 谢谢!

JScrollPane没有滚动超过设定的大小

我正在使用滚动窗格,里面有一个JPanel,它绘制一个方格网格,这些方格是来自[] []数组的对象。 如果数组是[83] [81]大小为18 ^ 2的矩形,它看起来像: http : //i.imgur.com/fwJ9LV6.png (注意网格边缘的白色边框) 但是,[84] [82]的相同矩形: http : //i.imgur.com/PZ2rNY3.png (最后一行被切片)。 现在,我: 将滚动窗格和Jpanel的首选大小和最大大小增加到远高于所需的大小。 检查JPanel是可滚动对象的视口。 它没有改变任何东西。 我的Jpanel课程是: package BlastRadius; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JPanel; /** * Canvas Class Stuart Bradley 25-1-2013 Contains the paint component */ public class BlastRadiusCanvas extends JPanel { GridOfNodes grid = new […]

如何使用JScrollPane和JLayeredPane创建钢琴

我需要在JScrollPane中使用JLayeredPane创建一个包含四个八度的虚拟钢琴,这样最初会显示一个八度音阶,并且可以水平滚动以查看其他八度音阶。 我的代码只显示一个八度音,不显示滚动条和其他八度音程。 以下代码有什么问题? class PianoLayout extends JScrollPane { public PianoLayout() { initComponents(); } private void initComponents() { JLayeredPane layer = new JLayeredPane(); //ScrollableLayeredPane layer = new ScrollableLayeredPane(); layer.setSize(1120,150); JButton[] keys = new JButton[48]; int keyIndex = 0, i; for(i=0;i<28;i++) { keys[keyIndex] = createWhiteKey(i); layer.add(keys[keyIndex], 0, -1); keyIndex+=1; if(i%7!=2 && i%7!=6) { keys[keyIndex] = createBlackKey(i); layer.add(keys[keyIndex], […]

如何在固定位置上绘制JPanel?

我将JSanel包装在JScrollPane中,我希望矩形始终在同一位置绘制=使用滚动条移动不会影响矩形的可见性。 我试过以下代码: public void paintComponent(Graphics g) { g.setColor(Color.red); g.drawRect(50, (int)getVisibleRect().getY(), 20 , 20); } 但它只在整个JPanel的大小改变时重新绘制矩形。

Java JScrollPane-多个组件

我正在尝试在JScrollPane中添加2个图像。 第一个图像是背景,第二个图像与第一个图像重叠。 问题只显示我运行程序时的第二张图像! 请帮忙 ImageIcon ii = new ImageIcon(“mini_map.png”); JLabel label1=new JLabel(ii); Icon icon = new ImageIcon(“Mg.gif”); JLabel label2 = new JLabel(icon); JScrollPane jsp=new JScrollPane(); jsp.getViewport().add(label1); jsp.getViewport().add(label2 );

即使我有一个JScrollPane,JTextArea也会在我输入文本时展开,但滚动条也没有显示

我有这个JTextArea,它在输入文本时不断扩展。 我知道这看起来像一个重复的问题,但我已经按照答案,他们没有为我工作。 我还附加了一个JScrollPane,但没有显示滚动条。 我希望JTextArea保持不变的大小并使其可滚动。 请看看我的代码并告诉我出了什么问题,因为我不知道! 这是我的代码: package com.robot; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.*; public class GUI extends JFrame implements Runnable { //start of the constructor method for GUI public GUI() { //defines the line break String newline = System.getProperty(“line.separator”); //defines objects Toolkit tk = Toolkit.getDefaultToolkit(); Dimension dim = tk.getScreenSize(); //sets the size of the […]

JComboBox上的JScrollPane

我做了一个combobox,但有些元素比我的盒子宽度宽。 所以我尝试添加一个水平的scrolpane,我唯一能看到的是一个带有combobox的滚动条! Certanly我做错了。 所以这是我没有jscrolpane的代码。 issuerdocumentJComboBox=new JComboBox(issuermodel);//the compo box issuerdocumentJComboBox.setBounds(430, 120, 100, 30); searchDocumentesJPanel.add(issuerdocumentJComboBox); 如何在combobox中添加水平滚动条? 谢谢!

我无法让JScrollPanes实际显示滚动条

我发现一些散布在互联网上的例子涉及获取图像或文本框以显示滚动条,但它们都涉及一个程序,它基本上在滚动窗格中显示其全部内容。 我需要做的是将JPanel粘贴到某个地方,将一堆文本,图标等堆放到该面板中,直到它对于我所拥有的空间来说太大,然后滚动它。 我可能也需要能够对该面板进行空布局,因为我可能不得不在其中手动定位内容。 因此,我尝试制作一个非常简单的程序,将三个彩色块放在一个足够大的空间中,并显示一个滚动条,让您向下滚动以查看第三个。 它不会添加滚动条。 导入有点混乱和冗余,因为这是从几个不同的文件拼凑而成,但它们不会产生任何错误。 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.BorderLayout; import java.awt.GridLayout; import javax.swing.ButtonGroup; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JScrollPane; public class ScrollDemo extends JFrame { JScrollPane scrollpane; public ScrollDemo() { super(“JScrollPane Demonstration”); setSize(800, 600); setDefaultCloseOperation(EXIT_ON_CLOSE); init(); setVisible(true); } public void init() { setLayout(null); JPanel innerPanel = […]

Swroll中的JScrollpane中的ScrollBar运动不平滑

我有这种情况。 我有滚动窗格,其viewportView是JPanel,JPanel的布局为BoxLayout。 在这个面板中,我添加了一个扩展JPanel的类,该类包含JComponents。 因此,在运行应用程序时,JComponents显示在JScrollPane中。 这就是我的ScrollPane的形成方式。 这里的问题是,当数据超过大约750行时,滚动条开始出现问题。 当通过鼠标滚轮向上或向下滚动时,滚动不会平滑移动,它突然停在中间并再次开始,说它有一个生涩的运动。 我的问题是如何在这种情况下获得平稳的鼠标移动。 我的scrollPane是这样的 public JScrollPane getScrollPane() { if (scrollPane == null) { scrollPane = new JScrollPane(); scrollPane.setSize(new Dimension(1000, 433)); scrollPane.setLocation(new Point(10, 10)); scrollPane.setColumnHeaderView(getHeaderOfRowPanel()); scrollPane .setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); scrollPane.setViewportView(getScrollPanel()); scrollPane .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.getVerticalScrollBar().setUnitIncrement( unitIncrement); } return scrollPane; } private JPanel getScrollPanel() { if (scrollPanel == null) { scrollPanel = new JPanel(); scrollPanel.setBorder(null); scrollPanel.setLayout(new […]

将JScrollPane组件添加到JTable列

我正在尝试将滚动function添加到JTable中的某个列。 我已经实现了一个自定义的TableCellRenderer组件,我可以看到表中的滚动窗格很好,但我无法滚动它。 我也尝试过实现TableCellEditor,但没有任何运气。 public Component getTableCellEditorComponent(JTable arg0, Object arg1, boolean arg2, int arg3, int arg4) { return scrollPane; } 有没有人有任何想法如何使包含scrollPane的单元格可滚动?