gpt4 book ai didi

java - GUI键盘模拟器

转载 作者:行者123 更新时间:2023-12-01 05:28:26 24 4
gpt4 key购买 nike

我正在开发这个键盘模拟器,但是我对 GUI 比较陌生,并且我陷入了尝试添加 ActionListener 来执行按钮功能的阶段,这意味着我希望字母出现在输入区域中a 按钮被按下。提前致谢!

import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
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.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class StockTicker extends JFrame implements ActionListener
{
String firstRow[] = {"1","2","3","4","5","6","7","8","9","0"};
String secondRow[] = {"Q","W","E","R","T","Y","U","I","O","P","Del"};
String thirdRow[] = {"A","S","D","F","G","H","J","K","L","Return"};
String fourthRow[] = {"Z","X","C","V","B","N","M","."};


JButton first[];

JButton second[];

JButton third[];

JButton fourth[];





public StockTicker()
{
super ("A Simple Stock Market GUI");

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);

initWidgets();
}


private void initWidgets()
{


JLabel jlOutput = new JLabel("Output: ");
JLabel jlInput = new JLabel("Intput: ");
final JLabel jtfOutput = new JLabel("");
final JLabel jtfInput = new JLabel();

JPanel bottomPanel = new JPanel();
bottomPanel.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 1;
gbc.gridy = 0;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weightx = 1.0;
gbc.weighty = 0.1;
gbc.anchor = GridBagConstraints.PAGE_START;
JLabel bottomLabel = new JLabel(" Input : ", JLabel.LEFT);


setLayout(new BorderLayout());
JPanel jpNorth = new JPanel();
JPanel jpCenter = new JPanel();
JPanel jpKeyboard = new JPanel();

add( jpNorth, BorderLayout.NORTH);
add( jpCenter, BorderLayout.CENTER);
add(jpKeyboard, BorderLayout.SOUTH);


jpNorth.setLayout(new BorderLayout());
jpNorth.add(jlOutput, BorderLayout.WEST);
jpNorth.add(jtfOutput, BorderLayout.SOUTH);

jpCenter.setLayout( new BorderLayout());
jpCenter.add(jlInput, BorderLayout.WEST);
jpCenter.add(jtfInput, BorderLayout.CENTER);

jpKeyboard.setLayout(new GridLayout(4,1));


pack();


first = new JButton[firstRow.length];

JPanel p = new JPanel(new GridLayout(1, firstRow.length));

for(int i = 0; i < firstRow.length; ++i)
{

first[i] = new JButton(firstRow[i]);
p.add(first[i]);


}

jpKeyboard.add(p);



second = new JButton[secondRow.length];

p = new JPanel(new GridLayout(1, secondRow.length));

for(int i = 0; i < secondRow.length; ++i)
{

second[i] = new JButton(secondRow[i]);
p.add(second[i]);



}

jpKeyboard.add(p);

third = new JButton[thirdRow.length];

p = new JPanel(new GridLayout(1, thirdRow.length));
for(int i = 0; i < thirdRow.length; ++i)
{

third[i] = new JButton(thirdRow[i]);
p.add(third[i]);


}
jpKeyboard.add(p);

fourth = new JButton[fourthRow.length];

p = new JPanel(new GridLayout(1, fourthRow.length));
for(int i = 0; i < fourthRow.length; ++i)
{

fourth[i] = new JButton(fourthRow[i]);
p.add(fourth[i]);

}
jpKeyboard.add(p);

}

最佳答案

JButton.addActionListener(监听器);

所以你会做类似的事情

MyActionListener listener = new MyActionListener();

.
.
.

first[i] = new JButton(firstRow[i]);
first[i].setActionCommand(firstRow[i]);
first[i].addActionListener(listener);

.
.
.

public class MyActionListener implements ActionListener {

public void actionPerformed(ActionEvent evt) {

String cmd = evt.getActionCommand();

// append the cmd value to your out put...

}

}

关于java - GUI键盘模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9405419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com