2
A
回答
6
您可以通过使用一个滚动面板,并通过创建自己的按钮,将使用滚动条的操作让你自己的组件:
import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.basic.*;
public class ScrollPaneSSCCE extends JPanel
{
public ScrollPaneSSCCE()
{
setLayout(new BorderLayout());
JTextArea textArea = new JTextArea(1, 80);
textArea.setText("Hopefully this will answer your question");
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
add(scrollPane);
JScrollBar horizontal = scrollPane.getHorizontalScrollBar();
BasicArrowButton west = new BasicArrowButton(BasicArrowButton.WEST);
west.setAction(new ActionMapAction("", horizontal, "negativeUnitIncrement"));
add(west, BorderLayout.WEST);
BasicArrowButton east = new BasicArrowButton(BasicArrowButton.EAST);
east.setAction(new ActionMapAction("", horizontal, "positiveUnitIncrement"));
add(east, BorderLayout.EAST);
}
private static void createAndShowUI()
{
JFrame frame = new JFrame("ScrollPaneSSCCE");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new ScrollPaneSSCCE(), BorderLayout.NORTH);
frame.setSize(100, 100);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowUI();
}
});
}
}
您还需要使用Action Map Action类。
相关问题
- 1. JScrollPane使用箭头键滚动
- 2. jscrollpane没有滚动条
- 3. 添加箭头滚动条
- 4. ScrollViewer +滚动条箭头
- 5. 双滚动条,但没有滚动
- 6. 有没有人曾经使用水平滚动条中的“滚动箭头”滚动位置?
- 7. jScrollPane - 如何让滚动条单独的箭头
- 8. 从JScrollPane中的Swing滚动条中删除箭头
- 9. JScrollPane中没有显示滚动条
- 10. 滚动条没有出现在JScrollPane中
- 11. 在JScrollpane中没有显示滚动条
- 12. JScrollpane滚动条没有显示
- 13. jScrollpane + IE7:滚动条显示,但无法滚动 - 无法点击箭头,无法绘制条形图帮助?
- 14. JScrollPane似乎没有滚动
- 15. JScrollPane滚动条不可滚动
- 16. 按箭头,没有任何滚动条可见滚动平铺列表
- 17. 没有滚动条 - JScrollPane的使用的JPanel
- 18. 滚动条而不是滚动箭头上
- 19. 键盘箭头滚动主滚动条而不是弹出
- 20. 自定义滚动条箭头
- 21. 滚动条底部箭头不可见
- 22. c#使用没有滚动条的滚轮滚动
- 23. Jscrollpane:使用水平滚动条功能可以滚动200px吗?
- 24. jScrollpane滚动条不工作
- 25. JScrollPane左侧滚动条
- 26. jScrollPane - 超薄滚动条
- 27. jscrollpane垂直滚动条
- 28. jScrollPane滚动条问题
- 29. JScrollPane滚动条跳到JEditorPane.setText()
- 30. jScrollPane horyzontal滚动条顶部
很好,谢谢!小问题:如何在不需要滚动的情况下让这些按钮隐藏(整个内容适合屏幕显示)? – Marco 2013-04-06 09:16:25
将ComponentListener添加到scrollPane并监听componentResized()方法。然后,检查添加到滚动窗格的组件的首选大小以及滚动窗格的大小。如果首选尺寸较大,则显示隐藏它们的按钮。 – camickr 2013-04-06 15:45:54