我的TextPane
没有更新,我认为这是因为我的班级结构。
我的主要问题是如何在不更改此结构的情况下更新TextPane
,因为我喜欢它?
请记住,我只是发布相关代码。
首先,我们开始创建JFrame
。
public class Frame extends JFrame {
public Frame() throws HeadlessException {
create Frame();
}
public void createFrame() {
JSplitPane splitPane = content.determineJSplitpane();
add(splitPane);
}
}
下一个是我的determineSplitpane
。我需要这种方法来定义3个区域。
public class KalenderFrameSplit {
private FrameLeft left = new KalenderFrameLinks();
private FrameMiddle middle = new KalenderFrameMitte();
private FrameRight right = new KalenderFrameRechts();
public JSplitPane determineJSplitpane() {
JPanel leftPanel = this.left.leftArea();
JScrollPane centerPanel = this.middle.middleArea();
JPanel rightPanel = this.right.rightArea();
JSplitPane splitPane1 = new JSplitPane();
JSplitPane splitPane2 = new JSplitPane();
splitPane1.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
splitPane1.setRightComponent(splitPane2);
splitPane1.setLeftComponent(leftPanel);
splitPane1.setEnabled(true);
splitPane1.setDividerSize(3);
splitPane2.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
splitPane2.setRightComponent(rightPanel);
splitPane2.setLeftComponent(centerPanel);
splitPane2.setDividerLocation(-2000);
splitPane2.setEnabled(true);
splitPane2.setMinimumSize(new Dimension(4000, 0));
splitPane2.setDividerSize(3);
return splitPane1;
}
}
最后一个是我的中段课程。我使用单选按钮设置输出,但我已经通过设置TextPane
的值的方法轻松实现了。后来我必须在文本中添加样式。我的老师告诉我,我应该在Document
中使用TextPane
并自动更新,但我不知道该怎么做。
public class FrameMiddle {
JTextPane textPane = new JTextPane();
public JScrollPane middleArea() {
JPanel panel = new JPanel(new BorderLayout());
Document document;
this.textPane.setText("");
//this.textPane.setDocument();
this.textPane.setLayout(new BorderLayout(200, 200));
this.textPane.setEditable(false);
panel.add(textPane);
panel.setBackground(Color.white);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(panel);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
return scrollPane;
}
public void getContentOfTextPane() {
this.textPane.setText("Hello World");
}
}
我希望你们能帮助我。我知道public void getContentOfTextPane
没有被调用,但我想问这个问题尽可能干净。因为我问这个问题,但我的问题不是很干净,所以我没有得到任何解决方案。