我有两个滚动窗格,试图将滚动条设置为始终可见。由于某些原因,当我尝试使用下面的代码(滚动代码)时,收到错误消息“对于JTextPane类型,未定义setHorizontalScrollBarPolicy(int)方法”。有什么建议么?
滚动码:
scrollPane.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
我在其中创建滚动窗格的代码:
JPanel ScrollPanes = new JPanel();
frame.getContentPane().add(ScrollPanes, BorderLayout.CENTER);
ScrollPanes.setLayout(new GridLayout(0, 2, 0, 0));
JTextPane textPane_0 = new JTextPane();
ScrollPanes.add(textPane_0);
textPane_0.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
textPane_0.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
JTextPane textPane_1 = new JTextPane();
ScrollPanes.add(textPane_1);
完整代码:
package swing;
import java.awt.EventQueue;
public class Swing {
private JFrame frame;
private JTextField textField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Swing window = new Swing();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Swing() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 600, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel TopApps = new JPanel();
frame.getContentPane().add(TopApps, BorderLayout.NORTH);
TopApps.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
JComboBox comboBox = new JComboBox();
comboBox.setPreferredSize(new Dimension(100, 20));
TopApps.add(comboBox);
textField = new JTextField();
TopApps.add(textField);
textField.setColumns(20);
JScrollPane scrollPanes = new JScrollPane();
frame.getContentPane().add(scrollPanes, BorderLayout.CENTER);
scrollPanes.setLayout(new GridLayout(0, 2, 0, 0));
JTextPane textPane_0 = new JTextPane();
scrollPanes.add(textPane_0);
textPane_0.setBorder(BorderFactory.createLoweredBevelBorder());
scrollPanes.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPanes.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
JTextPane textPane_1 = new JTextPane();
scrollPanes.add(textPane_1);
textPane_1.setBorder(BorderFactory.createLoweredBevelBorder());
scrollPanes.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPanes.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
JPanel bottomPanel = new JPanel();
frame.getContentPane().add(bottomPanel, BorderLayout.SOUTH);
bottomPanel.setLayout(new GridLayout(2, 1, 5, 0));
bottomPanel.setBorder(BorderFactory.createLoweredBevelBorder());
JTextPane bText = new JTextPane();
bottomPanel.add(bText);
bText.setBorder(BorderFactory.createLoweredBevelBorder());
JLabel status = new JLabel("Status");
bottomPanel.add(status);
status.setHorizontalAlignment(JLabel.CENTER);
}
}
textPane_0
是JTextPane
not的实例,JScrollPane
因此它没有setHorizontalScrollBarPolicy
方法。
您可能希望将textPane_0
和包装textPane_1
在中的新实例中JScrollPane
,设置其滚动条属性并将其添加到框架中。
换句话说使用
JTextPane textPane_0 = new JTextPane();
JScrollPane jScrollPane1 = new JScrollPane(textPane_0);//warp text pane
//and set properties of wrapper
jScrollPane1.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane1.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
ScrollPanes.add(jScrollPane1);
JTextPane textPane_1 = new JTextPane();
JScrollPane jScrollPane2 = new JScrollPane(textPane_1);
jScrollPane2.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane2.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
ScrollPanes.add(jScrollPane2);
演示:
class Demo {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,400);
JPanel ScrollPanes = new JPanel();
frame.getContentPane().add(ScrollPanes, BorderLayout.CENTER);
ScrollPanes.setLayout(new GridLayout(0, 2, 0, 0));
JTextPane textPane_0 = new JTextPane();
JScrollPane jScrollPane1 = new JScrollPane(textPane_0);
jScrollPane1.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane1.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
ScrollPanes.add(jScrollPane1);
JTextPane textPane_1 = new JTextPane();
JScrollPane jScrollPane2 = new JScrollPane(textPane_1);
jScrollPane2.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane2.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
ScrollPanes.add(jScrollPane2);
frame.setVisible(true);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句