forked from processing/processing
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStatusPanel.java
More file actions
113 lines (89 loc) · 2.69 KB
/
Copy pathStatusPanel.java
File metadata and controls
113 lines (89 loc) · 2.69 KB
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
Part of the Processing project - http://processing.org
Copyright (c) 2013 The Processing Foundation
Copyright (c) 2011-12 Ben Fry and Casey Reas
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package processing.app.contrib;
import java.awt.Color;
import javax.swing.JLabel;
class StatusPanel extends JLabel {
public StatusPanel() {
super(" "); // need to have some size
// setBackground(null);
// setBorder(null);
}
void setMessage(String message) {
setForeground(Color.BLACK);
setText(message);
repaint();
}
void setErrorMessage(String message) {
//setForeground(Color.RED);
setForeground(new Color(160, 0, 0));
setText(message);
repaint();
}
void clear() {
setText("");
repaint();
}
}
/*
interface ErrorWidget {
void setErrorMessage(String msg);
}
class StatusPanel extends JPanel implements ErrorWidget {
String errorMessage;
StatusPanel() {
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
clearErrorMessage();
}
});
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setFont(new Font("SansSerif", Font.PLAIN, 10));
int baseline = (getSize().height + g.getFontMetrics().getAscent()) / 2;
if (contribListing.isDownloadingListing()) {
g.setColor(Color.black);
g.drawString("Downloading software listing...", 2, baseline);
setVisible(true);
} else if (errorMessage != null) {
g.setColor(Color.red);
g.drawString(errorMessage, 2, baseline);
setVisible(true);
} else {
setVisible(false);
}
}
public void setErrorMessage(String message) {
errorMessage = message;
setVisible(true);
JPanel placeholder = getPlaceholder();
Dimension d = getPreferredSize();
if (Base.isWindows()) {
d.height += 5;
placeholder.setPreferredSize(d);
}
placeholder.setVisible(true);
}
void clearErrorMessage() {
errorMessage = null;
repaint();
getPlaceholder().setVisible(false);
}
}
*/