我與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