用JavaGUI框架Swing开发输入法,请给出代码
时间: 2024-02-03 10:13:32 浏览: 127
以下是一个简单的使用Java Swing开发的输入法示例代码:
```java
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class InputMethod extends JFrame {
private static final long serialVersionUID = 1L;
private JTextArea textArea;
private JTextField textField;
public InputMethod() {
setTitle("Input Method");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
textArea = new JTextArea();
textField = new JTextField();
JButton button1 = new JButton("1");
JButton button2 = new JButton("2");
JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
JButton button5 = new JButton("5");
JButton button6 = new JButton("6");
JButton button7 = new JButton("7");
JButton button8 = new JButton("8");
JButton button9 = new JButton("9");
JButton button0 = new JButton("0");
JButton buttonQ = new JButton("Q");
JButton buttonW = new JButton("W");
JButton buttonE = new JButton("E");
JButton buttonR = new JButton("R");
JButton buttonT = new JButton("T");
JButton buttonY = new JButton("Y");
JButton buttonU = new JButton("U");
JButton buttonI = new JButton("I");
JButton buttonO = new JButton("O");
JButton buttonP = new JButton("P");
JButton buttonA = new JButton("A");
JButton buttonS = new JButton("S");
JButton buttonD = new JButton("D");
JButton buttonF = new JButton("F");
JButton buttonG = new JButton("G");
JButton buttonH = new JButton("H");
JButton buttonJ = new JButton("J");
JButton buttonK = new JButton("K");
JButton buttonL = new JButton("L");
JButton buttonZ = new JButton("Z");
JButton buttonX = new JButton("X");
JButton buttonC = new JButton("C");
JButton buttonV = new JButton("V");
JButton buttonB = new JButton("B");
JButton buttonN = new JButton("N");
JButton buttonM = new JButton("M");
JButton buttonSpace = new JButton("Space");
JButton buttonEnter = new JButton("Enter");
JPanel panel1 = new JPanel(new GridLayout(4, 10));
panel1.add(button1);
panel1.add(button2);
panel1.add(button3);
panel1.add(button4);
panel1.add(button5);
panel1.add(button6);
panel1.add(button7);
panel1.add(button8);
panel1.add(button9);
panel1.add(button0);
panel1.add(buttonQ);
panel1.add(buttonW);
panel1.add(buttonE);
panel1.add(buttonR);
panel1.add(buttonT);
panel1.add(buttonY);
panel1.add(buttonU);
panel1.add(buttonI);
panel1.add(buttonO);
panel1.add(buttonP);
panel1.add(buttonA);
panel1.add(buttonS);
panel1.add(buttonD);
panel1.add(buttonF);
panel1.add(buttonG);
panel1.add(buttonH);
panel1.add(buttonJ);
panel1.add(buttonK);
panel1.add(buttonL);
panel1.add(buttonZ);
panel1.add(buttonX);
panel1.add(buttonC);
panel1.add(buttonV);
panel1.add(buttonB);
panel1.add(buttonN);
panel1.add(buttonM);
panel1.add(buttonSpace);
panel1.add(buttonEnter);
JPanel panel2 = new JPanel(new BorderLayout());
panel2.add(textArea, BorderLayout.CENTER);
panel2.add(textField, BorderLayout.SOUTH);
add(panel1, BorderLayout.CENTER);
add(panel2, BorderLayout.SOUTH);
ActionListener buttonListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
String input = textField.getText();
JButton button = (JButton) e.getSource();
String text = button.getText();
if ("Space".equals(text)) {
input += " ";
} else if ("Enter".equals(text)) {
textArea.append(input + "\n");
input = "";
} else {
input += text.toLowerCase();
}
textField.setText(input);
}
};
button1.addActionListener(buttonListener);
button2.addActionListener(buttonListener);
button3.addActionListener(buttonListener);
button4.addActionListener(buttonListener);
button5.addActionListener(buttonListener);
button6.addActionListener(buttonListener);
button7.addActionListener(buttonListener);
button8.addActionListener(buttonListener);
button9.addActionListener(buttonListener);
button0.addActionListener(buttonListener);
buttonQ.addActionListener(buttonListener);
buttonW.addActionListener(buttonListener);
buttonE.addActionListener(buttonListener);
buttonR.addActionListener(buttonListener);
buttonT.addActionListener(buttonListener);
buttonY.addActionListener(buttonListener);
buttonU.addActionListener(buttonListener);
buttonI.addActionListener(buttonListener);
buttonO.addActionListener(buttonListener);
buttonP.addActionListener(buttonListener);
buttonA.addActionListener(buttonListener);
buttonS.addActionListener(buttonListener);
buttonD.addActionListener(buttonListener);
buttonF.addActionListener(buttonListener);
buttonG.addActionListener(buttonListener);
buttonH.addActionListener(buttonListener);
buttonJ.addActionListener(buttonListener);
buttonK.addActionListener(buttonListener);
buttonL.addActionListener(buttonListener);
buttonZ.addActionListener(buttonListener);
buttonX.addActionListener(buttonListener);
buttonC.addActionListener(buttonListener);
buttonV.addActionListener(buttonListener);
buttonB.addActionListener(buttonListener);
buttonN.addActionListener(buttonListener);
buttonM.addActionListener(buttonListener);
buttonSpace.addActionListener(buttonListener);
buttonEnter.addActionListener(buttonListener);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new InputMethod();
}
}
```
该输入法界面包括一个文本框和一个文本区域,用户可以通过点击按钮来输入字符并将其显示在文本框中。当用户点击“Enter”按钮时,输入的文本将被添加到文本区域中。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)