Java-窗口程序-AWT 图形界面编程界面中出现中文乱码

 一、报错信息

 二、原因

这是因为 Java 程序代码的编码方式是 UTF-8 格式的编码 ,

而 Windows 系统使用的是 GBK 格式的编码 ;

 三、解决办法

(1).点击 IntelliJ IDEA 中 执行选项 中的 " Edit Configurations… " 选项 

(2).点击 " Modify options " 按钮 , 选择 " Add VM options " 选项

 (3).在出现的 VM options 输入框中 , 输入  -Dfile.encoding=gbk

 (4).重新执行即可

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
好的,我了解你的问题。你想知道如何使用Java构建一个简单的界面通讯录。 首先,你需要选择一个Java GUI库,比如Swing或JavaFX。在这个例子,我将使用Swing。 接下来,你需要创建一个通讯录类,该类将存储联系人的信息。你可以使用Java集合框架的HashMap来存储联系人信息,其键是联系人的名称,值是联系人的详细信息。 下面是一个简单的通讯录类的示例代码: ``` import java.util.HashMap; public class AddressBook { private HashMap<String, String> contacts; public AddressBook() { contacts = new HashMap<String, String>(); } public void addContact(String name, String info) { contacts.put(name, info); } public String getContactInfo(String name) { return contacts.get(name); } public void removeContact(String name) { contacts.remove(name); } } ``` 现在,你需要创建一个图形用户界面来与通讯录类交互。你可以使用Swing库的JFrame、JPanel、JButton等组件来创建界面。 下面是一个简单的通讯录GUI界面的示例代码: ``` import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class AddressBookGUI extends JFrame { private AddressBook addressBook; private JTextArea displayArea; private JTextField nameField, infoField; public AddressBookGUI() { super("Address Book"); addressBook = new AddressBook(); JPanel inputPanel = new JPanel(new GridLayout(3, 2)); inputPanel.add(new JLabel("Name:")); nameField = new JTextField(); inputPanel.add(nameField); inputPanel.add(new JLabel("Info:")); infoField = new JTextField(); inputPanel.add(infoField); JButton addButton = new JButton("Add"); addButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String name = nameField.getText(); String info = infoField.getText(); addressBook.addContact(name, info); displayArea.append("Added contact: " + name + "\n"); nameField.setText(""); infoField.setText(""); } }); JButton removeButton = new JButton("Remove"); removeButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String name = nameField.getText(); addressBook.removeContact(name); displayArea.append("Removed contact: " + name + "\n"); nameField.setText(""); infoField.setText(""); } }); JPanel buttonPanel = new JPanel(new GridLayout(1, 2)); buttonPanel.add(addButton); buttonPanel.add(removeButton); displayArea = new JTextArea(); JScrollPane scrollPane = new JScrollPane(displayArea); getContentPane().add(inputPanel, BorderLayout.NORTH); getContentPane().add(buttonPanel, BorderLayout.CENTER); getContentPane().add(scrollPane, BorderLayout.SOUTH); setSize(400, 300); setVisible(true); } public static void main(String[] args) { AddressBookGUI gui = new AddressBookGUI(); } } ``` 在这个GUI,你可以输入联系人的名称和详细信息,并使用“添加”按钮将它们添加到通讯录。你还可以使用“删除”按钮删除现有联系人。 当你点击“添加”或“删除”按钮时,GUI将调用通讯录类的方法来更新通讯录。在更新通讯录后,GUI会将操作结果显示在文本区域。 这只是一个简单的通讯录GUI的例子,你可以根据需要进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_37131747

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值