Latest code.
This commit is contained in:
parent
0417e08cbc
commit
c56add5a92
@ -76,7 +76,7 @@ public class JFastReader extends Frame implements ActionListener, AdjustmentList
|
|||||||
Scrollbar sbProgress = new Scrollbar(Scrollbar.HORIZONTAL, 0, 0, 0, 0);
|
Scrollbar sbProgress = new Scrollbar(Scrollbar.HORIZONTAL, 0, 0, 0, 0);
|
||||||
|
|
||||||
Label lbSpeedTag = new Label("Speed (wpm.)", Label.LEFT);
|
Label lbSpeedTag = new Label("Speed (wpm.)", Label.LEFT);
|
||||||
MyProgBar cvSpeed = new MyProgBar(10,600,sleepWPM);
|
MyProgBar cvSpeed = new MyProgBar(10,600,(long)sleepWPM, MyProgBar.PQ2);
|
||||||
Label lbSpeed = new Label(String.valueOf(sleepWPM), Label.LEFT);
|
Label lbSpeed = new Label(String.valueOf(sleepWPM), Label.LEFT);
|
||||||
|
|
||||||
Button btOptions = new Button("Opt.");
|
Button btOptions = new Button("Opt.");
|
||||||
@ -202,13 +202,13 @@ public class JFastReader extends Frame implements ActionListener, AdjustmentList
|
|||||||
sleepWPM -= sleepWPMDelta;
|
sleepWPM -= sleepWPMDelta;
|
||||||
}
|
}
|
||||||
lbSpeed.setText(String.valueOf(sleepWPM));
|
lbSpeed.setText(String.valueOf(sleepWPM));
|
||||||
cvSpeed.setPos(sleepWPM);
|
cvSpeed.setPos((long)sleepWPM);
|
||||||
} else if (ae.getSource().equals(btFaster)) {
|
} else if (ae.getSource().equals(btFaster)) {
|
||||||
if (sleepWPM+sleepWPMDelta<=600) {
|
if (sleepWPM+sleepWPMDelta<=600) {
|
||||||
sleepWPM += sleepWPMDelta;
|
sleepWPM += sleepWPMDelta;
|
||||||
}
|
}
|
||||||
lbSpeed.setText(String.valueOf(sleepWPM));
|
lbSpeed.setText(String.valueOf(sleepWPM));
|
||||||
cvSpeed.setPos(sleepWPM);
|
cvSpeed.setPos((long)sleepWPM);
|
||||||
}
|
}
|
||||||
// TODO: more events
|
// TODO: more events
|
||||||
}
|
}
|
||||||
@ -310,7 +310,7 @@ public class JFastReader extends Frame implements ActionListener, AdjustmentList
|
|||||||
private void showWord(int w) {
|
private void showWord(int w) {
|
||||||
String wrd = getWord(w);
|
String wrd = getWord(w);
|
||||||
int sleeplen = (int)((double)wrd.length()/(double)defWordLen*(double)60000/(double)sleepWPM);
|
int sleeplen = (int)((double)wrd.length()/(double)defWordLen*(double)60000/(double)sleepWPM);
|
||||||
System.out.println("Sleep for >"+wrd+"< is "+sleeplen);
|
// System.out.println("Sleep for >"+wrd+"< is "+sleeplen);
|
||||||
ptRead.setSleep(sleeplen);
|
ptRead.setSleep(sleeplen);
|
||||||
tfGo.setText(String.valueOf(w));
|
tfGo.setText(String.valueOf(w));
|
||||||
sbProgress.setValue(w);
|
sbProgress.setValue(w);
|
||||||
|
@ -1,47 +1,58 @@
|
|||||||
import java.awt.Canvas;
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.FontMetrics;
|
import java.awt.FontMetrics;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
|
|
||||||
class MyProgBar extends Canvas {
|
public class MyProgBar extends Component {
|
||||||
final static int WINDOWS = 1;
|
final static int WINDOWS = 1;
|
||||||
final static int PQ1 = 2;
|
final static int PQ1 = 2;
|
||||||
final static int PQ2 = 3;
|
final static int PQ2 = 3;
|
||||||
int minVal = 0;
|
long minVal;
|
||||||
int maxVal = 100;
|
long maxVal;
|
||||||
int curVal = 50;
|
long curVal;
|
||||||
|
private int systemDelta = 0;
|
||||||
Color fgColor = new Color(0,0,128);
|
Color fgColor = new Color(0,0,128);
|
||||||
Color bgColor = Color.lightGray;
|
Color bgColor = new Color(220,220,220);
|
||||||
Color txColor = Color.white;
|
Color txColor = Color.white;
|
||||||
private int mode = WINDOWS;
|
int Height = 18;
|
||||||
|
int Width = 40;
|
||||||
|
private int mode;
|
||||||
|
|
||||||
public MyProgBar(int min, int max, int pos, int mode) {
|
public MyProgBar(long min, long max, long pos, int mode) {
|
||||||
super();
|
|
||||||
this.minVal = min;
|
this.minVal = min;
|
||||||
this.maxVal = max;
|
this.maxVal = max;
|
||||||
this.curVal = pos;
|
this.curVal = pos;
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
|
if (System.getProperty("os.name").equals("EPOC")) {
|
||||||
|
this.systemDelta = -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public MyProgBar(int min, int max, int pos) {
|
public MyProgBar(long min, long max, long pos) {
|
||||||
this(min, max, pos, MyProgBar.WINDOWS);
|
this(min, max, pos, MyProgBar.WINDOWS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MyProgBar(int min, int max) {
|
public MyProgBar(long min, long max) {
|
||||||
this(min, max, min);
|
this(min, max, min, MyProgBar.WINDOWS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MyProgBar() {
|
||||||
|
this(0, 100, 0, MyProgBar.WINDOWS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void paint(Graphics g) {
|
public void paint(Graphics g) {
|
||||||
|
if (g != null) {
|
||||||
double percentage = (double)(curVal-minVal)/(double)(maxVal-minVal);
|
double percentage = (double)(curVal-minVal)/(double)(maxVal-minVal);
|
||||||
String percString = String.valueOf((int)(percentage*100)) + "%";
|
String percString = String.valueOf((int)(percentage*100)) + "%";
|
||||||
g.setFont(new Font("Dialog", Font.PLAIN, 10));
|
g.setFont(new Font("Dialog", Font.PLAIN, 10));
|
||||||
FontMetrics fm = getFontMetrics(g.getFont());
|
FontMetrics fm = getFontMetrics(g.getFont());
|
||||||
g.setColor(bgColor);
|
|
||||||
g.fillRect(0,0,getSize().width-1,getSize().height-1);
|
|
||||||
g.setColor(fgColor);
|
|
||||||
int pright = (int)((double)(getSize().width-2)/(maxVal-minVal)*(curVal-minVal));
|
int pright = (int)((double)(getSize().width-2)/(maxVal-minVal)*(curVal-minVal));
|
||||||
g.fillRect(1,1,pright,getSize().height-2);
|
g.setColor(bgColor);
|
||||||
|
g.fill3DRect(pright+1,1,getSize().width-2-pright+systemDelta,getSize().height-2+systemDelta, false);
|
||||||
|
g.setColor(fgColor);
|
||||||
|
g.fill3DRect(1,1,pright+systemDelta,getSize().height-2+systemDelta, true);
|
||||||
g.setXORMode(txColor);
|
g.setXORMode(txColor);
|
||||||
int tleft;
|
int tleft;
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
@ -66,21 +77,42 @@ class MyProgBar extends Canvas {
|
|||||||
g.setColor(Color.black);
|
g.setColor(Color.black);
|
||||||
g.drawRect(0,0,getSize().width-1,getSize().height-1);
|
g.drawRect(0,0,getSize().width-1,getSize().height-1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setMinValue(int v) {
|
public void setMinValue(long v) {
|
||||||
minVal = v;
|
minVal = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMaxValue(int v) {
|
public void setMaxValue(long v) {
|
||||||
maxVal = v;
|
maxVal = v;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMode(int m) {
|
public void setBgColor(Color c) {
|
||||||
this.mode = m;
|
bgColor = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPos(int p) {
|
public void setFgColor(Color c) {
|
||||||
|
fgColor = c;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPos(long p) {
|
||||||
curVal = p;
|
curVal = p;
|
||||||
|
if (curVal > maxVal) curVal = maxVal;
|
||||||
|
else if (curVal < minVal ) curVal = minVal;
|
||||||
paint(getGraphics());
|
paint(getGraphics());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setMode(int m) {
|
||||||
|
mode = m;
|
||||||
|
paint(getGraphics());
|
||||||
|
}
|
||||||
|
|
||||||
|
public Dimension getPreferredSize() {
|
||||||
|
return new Dimension(Width, Height);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Dimension getMinimumSize() {
|
||||||
|
return new Dimension(Width, Height);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Reference in New Issue
Block a user