Eclipse를 사용하고 실행 -> cmd를 사용하여 프로그램을 실행하면 "명령"창이 내 명령 줄 창에 표시되지 않습니다. 다른 프로그램의 paintComponent에서 System.out.print()를 실행하면 정상적으로 작동합니다. 도울 수있는 누군가?Eclipse에서 앱을 실행할 때 repaint()가 호출되지 않습니까?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GUI extends JPanel implements KeyListener, ActionListener
{
private static final long serialVersionUID = 1L;
JFrame frmMain = new JFrame("Kodning");
JTextField text = new JTextField();
JPanel pan = new JPanel();
static char bokstav;
static int x=10, y=80;
boolean convert = false;
String s;
Timer t = new Timer(10, this);
public static void main(String[] args)
{
@SuppressWarnings("unused")
GUI g = new GUI();
}
public GUI()
{
frmMain.setSize(600, 120);
frmMain.setLayout(new GridLayout(2, 1));
frmMain.addWindowListener(hornStang());
frmMain.add(text);
frmMain.add(pan);
frmMain.setFocusable(true);
frmMain.setVisible(true);
frmMain.addKeyListener(this);
text.addKeyListener(this);
pan.addKeyListener(this);
t.start();
}
private static WindowAdapter hornStang()
{
return new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
};
}
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()== KeyEvent.VK_ENTER)
{
System.out.println("dechifrera");
repaint();
deshiffrera(text.getText());
}
}
public void keyReleased(KeyEvent arg0){}
public void keyTyped(KeyEvent arg0){}
public void deshiffrera(String s)
{
s = this.s;
repaint();
}
@override
public void paintComponent(Graphics g)
{
System.out.println("paint");
for(int i=0;i<s.length();i++)
{
bokstav = s.charAt(i);
switch (bokstav)
{
case 'a':nere(g); hoger(g); prick(g, 0); break;
//en massa case
default:break;
}
x=x+12;
}
}
@Override
public void actionPerformed(ActionEvent e)
{
repaint();
}
}
나는 당신이하고 싶은 것을 모른다. 나는 그 문제가 뭔지 모른다. 그러나 명령 행에 그릴 수는 없습니다. 그것은 문자 (텍스트)만을위한 것입니다. –
여전히 문제를 보여주는 가능한 가장 작은 프로그램으로 프로그램을 줄일 수 있습니까? 그러면 StackOverflow에서 도움이되며 문제를 찾을 때 도움이 될 수도 있습니다. –