javaGUI基础实验 编码错误:编码GBK的不可映射字符 文本框拷贝 跟踪记录鼠标在窗口中拖动

    技术2024-07-23  70

    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()); } }

    欢迎大家关注我的微信公众号 访问我的个人网站、 B站

    Processed: 0.014, SQL: 9