(Java)如何绘制单个字符

(Java)如何绘制单个字符,java,eclipse,swing,user-interface,awt,Java,Eclipse,Swing,User Interface,Awt,我有个问题。我声明了这个字符,但是我找不到一个可以工作的函数 如何在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

我有个问题。我声明了这个字符,但是我找不到一个可以工作的函数

如何在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")
        ;
}
}
import java.awt.*;
导入java.awt.event.*;
导入javax.swing.*;
公共类MyFrame扩展JFrame实现ActionListener{
私人JPanel p;
私人JTextField tf;
私人JLabel-lb;
私人杰布顿b,英国艺术学院;
专用字符串woord=“woord”;
私有整数x=0;
私有整数y=0;
私有字体f=新字体(“信使”,字体为普通,60);
私人整数计数;
私人智力y=60;
公共MyFrame(){
setLayout(新的FlowLayout());
p=新的JPanel();
p、 setPreferredSize(新尺寸(500600));
加(p);
p、 set不透明(true);
p、 挫折背景(颜色:蓝色);
bstart=新的JButton(“开始”);
添加(b开始);
bstart.addActionListener(此);
lb=新的JLabel(“Voer uw woord in:”);
添加(磅);
tf=新的JTextField(8);
添加(tf);
b=新的JButton(“海怪”);
添加(b);
b、 addActionListener(此);
设置大小(150150);
setDefaultCloseOperation(关闭时退出);
setVisible(真);
}
已执行的公共无效操作(操作事件){
图形g=p.getGraphics();
if(event.getSource()==bstart){
g、 setColor(Color.WHITE);
//g.drawRect(25,25500500);
//g.拉线(50042525425);
//g.拉线(50032525325);
//g.拉线(500225,25225);
//g.抽绳(500、125、25、125);
对于(int i=0;i<5;i++){
对于(intz=0;z<5;z++){
g、 drawRect(x,y,100100);
x=x+100;
}
x=0;y=y+100;
}
g、 setFont(f);
g、 抽绳(W、30、60);
}
if(event.getSource()==b){
计数++;
字符串gok=tf.getText();
g、 setColor(Color.RED);
g、 fillRect(0,0100);
g、 setColor(Color.white);
g、 setFont(f);
g、 抽绳(W、30、60);
char secondLetter=gok.charAt(1);
char thirdLetter=gok.charAt(2);
char fourthLetter=gok.charAt(3);
char lastLetter=gok.charAt(4);
g、 抽绳(第二个字母,130,y);
}
字符串输入=tf.getText();
if(input.toLowerCase()=“woord”)
;
}
}

为什么不直接转换为字符串:

char c = '#';
g.drawString(String.valueOf(c), x, y);

为什么不直接使用以下命令转换为字符串:

char c = '#';
g.drawString(String.valueOf(c), x, y);

为什么不直接使用以下命令转换为字符串:

char c = '#';
g.drawString(String.valueOf(c), x, y);

为什么不直接使用以下命令转换为字符串:

char c = '#';
g.drawString(String.valueOf(c), x, y);

当您说“drawString似乎不起作用”时,您的意思是它给出了一个错误,如:预期的字符串参数,但找到了字符?或者你的意思是
drawString方法
即使你输入了一个字符串字符也不能绘制?如果是第一种情况,请使用:
g.drawString(String.valueOf(yourChar))取而代之。如果是第二种情况,我不知道。PS:Ik zou Engelse en Nederlandse viarbelen niet door elkaar mixen(Angezien Ik
woord
en
gok
zie,i.p.v.
word
en
en
guess
)Tja,Idereen kan Nederlands,toch?当你说“drawString似乎不起作用”时,你的意思是说它给出了一个错误,比如:预期的字符串参数,但找到了字符?或者你的意思是
drawString方法
即使你输入了一个字符串字符也不能绘制?如果是第一种情况,请使用:
g.drawString(String.valueOf(yourChar))取而代之。如果是第二种情况,我不知道。PS:Ik zou Engelse en Nederlandse viarbelen niet door elkaar mixen(Angezien Ik
woord
en
gok
zie,i.p.v.
word
en
en
guess
)Tja,Idereen kan Nederlands,toch?当你说“drawString似乎不起作用”时,你的意思是说它给出了一个错误,比如:预期的字符串参数,但找到了字符?或者你的意思是
drawString方法
即使你输入了一个字符串字符也不能绘制?如果是第一种情况,请使用:
g.drawString(String.valueOf(yourChar))取而代之。如果是第二种情况,我不知道。PS:Ik zou Engelse en Nederlandse viarbelen niet door elkaar mixen(Angezien Ik
woord
en
gok
zie,i.p.v.
word
en
en
guess
)Tja,Idereen kan Nederlands,toch?当你说“drawString似乎不起作用”时,你的意思是说它给出了一个错误,比如:预期的字符串参数,但找到了字符?或者你的意思是
drawString方法
即使你输入了一个字符串字符也不能绘制?如果是第一种情况,请使用:
g.drawString(String.valueOf(yourChar))取而代之。如果是第二种情况,我不知道。PS:Ik zou Engelse en Nederlandse viarbelen niet door elkaar mixen(Angezien Ik
woord
gok
zie,i.p.v.
word
en
guess
)Tja,Idereen kan Nederlands,toch?