我与Netbeans的文本编辑器,我打开一个文本JTextPane中。如果文字太大,你可以在水平滚动的帮助下阅读它。有没有办法将文本分成24行的页面,例如,每个页面都可以看到而不需要滚动,并使用下一页按钮来改变页面像电子书一样)?让JTextPane中看起来像电子书
0
A
回答
1
使用JTextArea更容易,因为您可以轻松指定每次滚动到新页面时要显示的行数。
基本的解决方案是将文本区域添加到滚动窗格比则隐藏滚动条。然后,您可以使用垂直滚动条的默认操作来为您进行滚动。下面的代码使用代码来自Action Map Action博客条目可以轻松地创建,你可以添加到一个JButton的操作:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class TextAreaScroll extends JPanel
{
private JTextArea textArea;
public TextAreaScroll()
{
setLayout(new BorderLayout());
textArea = new JTextArea(10, 80);
textArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
add(scrollPane);
JButton load = new JButton("Load TextAreaScroll.java");
load.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
FileReader reader = new FileReader("TextAreaScroll.java");
BufferedReader br = new BufferedReader(reader);
textArea.read(br, null);
br.close();
}
catch(Exception e2) { System.out.println(e2); }
}
});
add(load, BorderLayout.NORTH);
// Add buttons to do the scrolling
JScrollBar vertical = scrollPane.getVerticalScrollBar();
Action nextPage = new ActionMapAction("Next Page", vertical, "positiveBlockIncrement");
nextPage.putValue(AbstractAction.MNEMONIC_KEY, KeyEvent.VK_N);
JButton nextButton = new JButton(nextPage);
Action previousPage = new ActionMapAction("Previous Page", vertical, "negativeBlockIncrement");
previousPage.putValue(AbstractAction.MNEMONIC_KEY, KeyEvent.VK_N);
JButton previousButton = new JButton(previousPage);
JPanel south = new JPanel();
add(south, BorderLayout.SOUTH);
south.add(previousButton);
south.add(nextButton);
}
private static void createAndShowUI()
{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TextAreaScroll());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowUI();
}
});
}
}
相关问题
- 1. 一个看起来像JTextArea的JTextPane
- 2. 不能让HTML看起来像我想
- 3. 如何让TButton看起来像3d?
- 4. 如何让Gedit看起来像Textmate?
- 5. 如何让svn diff看起来像diff?
- 6. 如何让Grid看起来像CRM Grids?
- 7. 我如何让Eclipse看起来像Textmate?
- 8. 如何让UIPickerView看起来像图像中的那个?
- 9. 转换的URL看起来像子域
- 10. Android电子书,像谷歌播放电子书阅读器
- 11. 如何让看起来像在iTunes中显示文件列表
- 12. 如何让电子邮件在移动设备上看起来不错?
- 13. 下载和查看epub电子书
- 14. Java Swing看起来像Windows
- 15. Imageview看起来像mapview
- 16. WP8.1日历看起来像
- 17. 使autocompletetextview看起来像edittext
- 18. 使UICollectionView看起来像UITableView
- 19. HttpRequestMessage如何看起来像?
- 20. wpf ListBox看起来像datagrid?
- 21. 如何让我的Div盒子支架看起来像这里面用CSS?
- 22. 背景颜色不起作用在outlook ..如何让我的表在电子邮件中看起来不错?
- 23. Team Foundation Server,电子书或起点
- 24. 让JTextPane滚动
- 25. 样式HTML表格看起来像Google文档的电子表格
- 26. 如何使UIButton看起来像一个电子邮件链接按钮?
- 27. 我可以让列表项看起来像一个堆栈
- 28. 我该如何让鼠标看起来像指针图标?
- 29. 如何让framebuffer看起来像一个真正的显示器?
- 30. 我如何让我的答案看起来像[z1,z2 ...]
是的,这有可能,通知 - >通过你的手写代码,请不要使用内置JComponents -in调色板 – mKorbel 2012-02-06 16:37:53