【发布时间】:2014-12-24 22:41:03
【问题描述】:
我有一个问题。我已经声明了这个字符,但我找不到有效的函数....
如何在 GUI 中绘制单个字符? :)
drawString 似乎不起作用,drawChars 需要一个数组:S
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyFrame extends JFrame implements ActionListener {
private JPanel p;
private JTextField tf;
private JLabel lb;
private JButton b, bstart;
private String woord = "woord";
private int x = 0;
private int y = 0;
private Font f = new Font("Courier", Font.PLAIN,60);
private int count;
private int y = 60;
public MyFrame() {
setLayout(new FlowLayout());
p = new JPanel();
p.setPreferredSize(new Dimension(500, 600));
add(p);
p.setOpaque(true);
p.setBackground(Color.BLUE);
bstart = new JButton("start");
add(bstart);
bstart.addActionListener(this);
lb = new JLabel("Voer uw woord in: ");
add(lb);
tf = new JTextField(8);
add(tf);
b = new JButton("Kraken");
add(b);
b.addActionListener(this);
setSize(150, 150);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent event) {
Graphics g = p.getGraphics();
if (event.getSource() == bstart) {
g.setColor(Color.WHITE);
// g.drawRect(25, 25, 500, 500);
// g.drawLine(500, 425, 25, 425);
// g.drawLine(500, 325, 25, 325);
// g.drawLine(500, 225, 25, 225);
// g.drawLine(500, 125, 25, 125);
for (int i = 0; i < 5; i++) {
for (int z = 0; z < 5; z++) {
g.drawRect(x,y,100,100);
x = x + 100;
}
x = 0; y = y+100;
}
g.setFont(f);
g.drawString("W", 30, 60);
}
if(event.getSource() == b){
count++;
String gok = tf.getText();
g.setColor(Color.RED);
g.fillRect(0,0,100,100);
g.setColor(Color.white);
g.setFont(f);
g.drawString("W", 30, 60);
char secondLetter = gok.charAt(1);
char thirdLetter = gok.charAt(2);
char fourthLetter = gok.charAt(3);
char lastLetter = gok.charAt(4);
g.drawString(secondLetter,130, y);
}
String input = tf.getText();
if (input.toLowerCase() == "woord")
;
}
}
【问题讨论】:
-
当你说“drawString 似乎不起作用”时,你的意思是它给出了一个错误,比如:expected String-argument but found char?或者你的意思是
drawString-method即使你放入一个字符串字符也不会绘制?如果是第一种情况,请改用:g.drawString(String.valueOf(yourChar));。如果是第二种情况,我不知道。 PS:Ik zou Engelse en Nederlandse viarbelen niet door elkaar mixen (aangezien ikwoordengokzie, i.p.v.wordenguess.;) -
Tja, edereen kan Nederlands, toch?
标签: java eclipse swing user-interface awt