blob: d2f29ee25049164dec7efbd76bd7fc6607dbff1f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
package cppcheckplus.text;
import cppcheckplus.control.XChartletFullScreenListenter;
import java.awt.BorderLayout;
import java.awt.Font;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class MyTextPanel extends JPanel
implements XChartletFullScreenListenter {
public static final int LINEHEIGHT = 16;
private BorderLayout layout;
private boolean isFullScreen;
private JTextArea textArea;
private JScrollPane scroll;
private LineNumberHeaderView lineNumberHeader = null;
public MyTextPanel() {
layout = new BorderLayout();
setLayout(layout);
textArea = new JTextArea("");
Font x = new Font("Serif", 0, LINEHEIGHT);
textArea.setFont(x);
scroll = new JScrollPane(textArea);
//scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
//scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
//scroll.setPreferredSize(new Dimension(300, 200));
if (lineNumberHeader == null) {
lineNumberHeader = new LineNumberHeaderView();
//设置行号的高度,如果和textarea的行高不匹配,可以修改此值
lineNumberHeader.setLineHeight(LINEHEIGHT + 4);
}
scroll.setRowHeaderView(lineNumberHeader);
add(scroll);
}
public JTextArea getTextArea() {
return textArea;
}
public void initialize() {
setLayout(layout);
add(scroll);
}
@Override
public void fullScreen(JPanel chartPanellet) {
removeAll();
isFullScreen = !isFullScreen;
if (isFullScreen) {
setLayout(new BorderLayout());
add(chartPanellet, "Center");
} else {
initialize();
}
repaint();
revalidate();
}
}
|