Tag: jscrollpane

将Jlist添加到JScrollPane

我有一个JList,我需要放在滚动窗格内,因为我从数据库中获取JList,值可以大大增加。 我需要能够将它们向下滚动,所以我写道: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.ListSelectionModel; public class Checkboxlistener extends JFrame { private JPanel jpAcc = new JPanel(); private JList checkBoxesJList; Checkboxlistener() { // super(“Deposit base”, false, true, false, true); setSize(1300, 600); jpAcc.setLayout(null); jpAcc.setBackground(Color.LIGHT_GRAY); String labels[] = {“A”, “B”, “C”, “D”, […]

Swing:在JTable结构发生变化后,JScrollPane不会刷新

我有一个JTable,与一个DefaultTableModel相关联,在JPanel中有一个SpringLayout,它位于JScrollPane中。 当我使用下面的方法修改DefaultTableModel的结构时,JTable会刷新,但不会刷新JScrollPane。 我必须第二次应用此方法来刷新JScrollPane。 public void updateProjectView() { SwingProjectViewerController spvc = SwingProjectViewerController. getInstance(); this.projectTitle.setText(spvc.getAcronym() + ” : ” + spvc.getTitle()); Object[][] tableContent = spvc.getCriteria(CriteriaPreselectionController.getInstance(). getCriteriaPreselection()); Object[] columnsName = new Object[]{“Col1”, “Col2”}; this.tableModel.setDataVector(tableContent, columnsName); this.tableModel.fireTableStructureChanged(); } 任何帮助非常感谢!

如何让每个鼠标滚轮步骤滚动1行JScr​​ollPane?

我有一个JScrollPane,其内容窗格是一个JXList。 当我在列表上使用鼠标滚轮时,列表一次只能处理三(3)个项目。 无论行高如何,这也适用于表格。 我怎样才能改变这一点 – 无论平台如何 – 对于列表和表格,滚动距离恰好是1项? 设置块增量不会削减它,因为表中的某些行具有不同的高度。

JList项目中的自动换行

我有一个具有很长项目名称的JList ,导致水平滚动条出现在滚动窗格中。 无论如何,我可以自我换行,以便整个项目名称出现在2行,但可以一键选择? IE它应该仍然表现为单个项目,但显示为两行。 这是我看到下面的例子后做的 我在我的项目MyCellRenderer中添加了一个新类,然后我添加了MyList.setCellRenderer(new MyCellRenderer(80)); 在我的列表的post创建代码中。 还有什么我需要做的吗?

如何在JScrollPane中获取图像的X和Y位置

我正在尝试为2D RPG制作地图编辑器,而我目前正在尝试做的事情(将地块放置在地面上)是有一个带有JLabel的JScrollPane(其中有一个图像)和一个附加的鼠标侦听器到JScrollPane来确定图像的X和Y位置。 我遇到的问题是它没有得到图像X和Y位置,而是JScrollPanes X和Y位置。 所以我有一个JScrollPane附加到一个512×4928的图像,我附加了一个鼠标监听器。 当我尝试获取Y位置时问题就存在了,因为JScrollPane是一个单独的对象,它获得了JScrollPane JScrollPanes大小的X和Y,无论图像位于何处,它都将永远不会返回大于600。 我能以任何方式使这项工作? inheritance守守则 public void loadMapTileImage(){ try { image = ImageIO.read(getClass().getResource(“data/misc/tiledata.png”)); image = image.getSubimage(0, 0, 512, 4928); } catch (IOException e) { e.printStackTrace(); } ImageIcon i = new ImageIcon(image); MapEditorGlobalObjects.mapTileScroll = new JScrollPane(new JLabel(i)); } mapTileScroller.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent arg0) { MapEditorGlobalObjects.checkIfDebugging(“Mouse Released Location X = […]

如何隐藏JScrollBar中的箭头按钮

我需要在AWT应用程序中隐藏java.awt.Scrollbar(VERTICAL)的箭头按钮。 有谁知道如何实现这一目标? 我在这里看到了一个例子,但代码只是隐藏了按钮。 按钮的空置空间仍然存在; 它没有被滚动条占用。 更确切地说,这是我应该实现的截图。 我不确定去哪个方向。 更新:我一直在寻找AWT的解决方案。 但现在我也对Swing的建议持开放态度。

Swing:滚动到JScrollPane的底部,以当前视口位置为条件

我试图模仿Adium和我见过的大多数其他聊天客户端的function,其中当新消息进入时滚动条会向前移动,但前提是你已经在那里。 换句话说,如果你向上滚动几行并正在阅读,当有新消息进入时它不会将你的位置跳到屏幕的底部; 这会很烦人。 但是,如果您滚动到底部,程序会正确地假设您希望始终查看最新的消息,因此会相应地自动滚动。 我有一段时间试图模仿这个; 该平台似乎不惜一切代价来对抗这种行为。 我能做的最好的事情如下: 在构造函数中: JTextArea chatArea = new JTextArea(); JScrollPane chatAreaScrollPane = new JScrollPane(chatArea); // We will manually handle advancing chat window DefaultCaret caret = (DefaultCaret) chatArea.getCaret(); caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE); 在处理新文本的方法中: boolean atBottom = isViewAtBottom(); // Append the text using styles etc to the chatArea if (atBottom) { scrollViewportToBottom(); } public boolean isAtBottom() […]

JScrollPane用箭头键滚动

我在JScrollPane中有一个JTextArea组件,文本区域不可编辑。 我想使用向上和向下箭头键启用文本区域的滚动(即按箭头键将文本区域滚动一行)。 任何想法如何实现这一目标?

为什么我的表在JScrollPane中不可见?

我一直在尝试几个小时,不同的事情,并在各处搜索解决方案,但我无法在addScoreCardUpper()中显示我的表格。 我得到一个水平滚动条,但没有内容,只有2个像素的边框。 import java.awt.BorderLayout; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; public class YahtzeeGUI extends JFrame{ /** * */ private static final long serialVersionUID = 3255683022699487295L; private JFrame frame; private JPanel panel; private JPanel dicePanel; private JScrollPane scrollPane; private JButton btnRoll; private JButton[] btnDice = new JButton[5]; private JTable table; private Yahtzee y = new Yahtzee(); […]

如何使JScrollPane(在BorderLayout中,包含JPanel)顺利地自动滚动

我正在尝试在JScrollPanel内部创建一个不同大小的JPanel(可能比标准屏幕宽得多)。 目前它效果很好,我已经配置滚动条手动工作正常,但我希望JPanel不断向左“滚动”,以便随着时间的推移显示整个事物。 我发现的所有答案都是特定于JTextArea并使用Carets,或使用rectToVisible。 这些都不会起作用,因为我试图在内部滚动到单个JPanel。 我已经包含了我认为是以下所有相关代码的内容。 center是JPanel(其中Grid是一个子类,用于专门绘制一些特定单元格的网格),带有我想要自动滚动的BorderLayout。 public GuiViewFrame(Song playMe) { String[][] songArray = playMe.to2DArray(); this.displayPanel = new ConcreteGuiViewPanel(playMe); main = new JPanel(); main.setLayout(new BorderLayout()); displayPanel.setLayout(new BorderLayout()); center = new Grid(playMe); labels = new Labels(playMe); horiz = new Horiz(playMe); center.setPreferredSize(new Dimension(10 * songArray.length, 10 * songArray[0].length)); horiz.setPreferredSize(new Dimension(10 * songArray.length, 10)); horiz.setVisible(true); main.add(center, BorderLayout.CENTER); main.add(horiz, BorderLayout.NORTH); […]