デスクトップものさしを目指して
2008/08/24
java
ものさし
Javaです。
デスクトップのものさしがあったら便利そうです。
ぼくがCSSを書くときに手放せないツール - ぼくはまちちゃん!(Hatena)
Javaで実現する場合は、Winodwの不透明がネックになりそうですが、とりあえずosxで。
いつものことですが、コードは適当です。
package t004;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JPanel;
import javax.swing.JWindow;
public class Test1 {
/**
* @param args
*/
public static void main(String[] args) {
JWindow frame = new JWindow();
frame.setAlwaysOnTop(true);
frame.setBackground(new Color(254, 254, 198, 100));
MyPanel panel = new MyPanel();
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(panel, BorderLayout.CENTER);
frame.setBounds(100, 100, 300, 30);
frame.setVisible(true);
}
static class MyPanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
int w = getWidth();
int h = getHeight() / 3;
System.out.println("*** w:" + w);
Graphics2D g2D = (Graphics2D) g;
g2D.setColor(Color.BLACK);
for (int x = 0; x < w; x += 5) {
if (x % 10 == 0) {
g2D.fillRect(x, 0, 1, h + 5);
} else {
g2D.fillRect(x, 0, 1, h);
}
if (x != 0 && x % 50 == 0)
g2D.drawString("" + x, x - 10, h + 20);
}
}
}
}
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JPanel;
import javax.swing.JWindow;
public class Test1 {
/**
* @param args
*/
public static void main(String[] args) {
JWindow frame = new JWindow();
frame.setAlwaysOnTop(true);
frame.setBackground(new Color(254, 254, 198, 100));
MyPanel panel = new MyPanel();
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(panel, BorderLayout.CENTER);
frame.setBounds(100, 100, 300, 30);
frame.setVisible(true);
}
static class MyPanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
int w = getWidth();
int h = getHeight() / 3;
System.out.println("*** w:" + w);
Graphics2D g2D = (Graphics2D) g;
g2D.setColor(Color.BLACK);
for (int x = 0; x < w; x += 5) {
if (x % 10 == 0) {
g2D.fillRect(x, 0, 1, h + 5);
} else {
g2D.fillRect(x, 0, 1, h);
}
if (x != 0 && x % 50 == 0)
g2D.drawString("" + x, x - 10, h + 20);
}
}
}
}
: