1、编码格式错误:编码GBK的不可映射字符
原因
由于编码格式的不匹配
(cmd)解决: javac -encoding UTF-8 xxx.java
2、文件名与类名不同导致报错
3、题目:编写一个关闭就结束程序的窗口,其中有两个文本框和一个按钮。如果在第一个文本框中输入文字, 然后点击按钮,这些文字就会被复制到第二个文本框中,而第一个文本框中会清空。
建JFrame子类来做窗口类
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class MyFrame extends JFrame
{
JTextField tf1,tf2;
JButton bt;
MyFrame(String s){
super(s); //带标题构造方法
setBounds(100,150,300,350);
tf1 = new JTextField(20);
tf2 = new JTextField(20);
bt = new JButton("COPY");
setLayout(new FlowLayout());
add(tf1);
add(tf2);
add(bt);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Handler hd = new Handler();
bt.addActionListener(hd);
}
//处理事件 Copy
class Handler implements ActionListener
{
public void actionPerformed(ActionEvent e){
String s =tf1.getText();
tf2.setText(s);
tf1.setText("");
}
}
public static void main(String[] args)
{
new MyFrame("GUI编程基础"+new java.util.Date());
}
}
4、题目:编写一个关闭就结束程序的窗口,其中有一个文本框,它能跟踪记录鼠标在窗口中拖动时的坐标。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class MyFrame3 extends JFrame
{
JTextField tf1;
MyFrame3(String s){
super(s); //带标题构造方法
setBounds(100,150,300,350);
tf1 = new JTextField(20);
JPanel p = new JPanel();
p.add(tf1);
add(p,BorderLayout.SOUTH);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
H hd = new H();
addMouseMotionListener(hd);
}
class H implements MouseMotionListener
{ //具体类实现接口要重写全部抽象方法
public void mouseMoved(MouseEvent e){}
public void mouseDragged(MouseEvent e){
int x = e.getX();
int y =e.getY();
tf1.setText("Mouse Dragging at "+x+","+y);
}
}
public static void main(String[] args)
{
MyFrame3 mf =new MyFrame3("鼠标的坐标"+new java.util.Date());
}
}