gpt4 book ai didi

java - 如何获取数字键盘布局

转载 作者:太空宇宙 更新时间:2023-11-04 07:43:51 26 4
gpt4 key购买 nike

我需要键盘上数字键盘的布局。我得到了大部分内容,我遇到的唯一问题是“输入”按钮应该一直到底部。但是当我使用面板 p4 并将其设置为 SOUTH 时,“输入”按钮不会到达底部。这是代码。

这就是它的样子

enter image description here

这就是我想要的

enter image description here

public class NumPad extends Applet
{
public void init() {
setLayout(new BorderLayout());

Panel p1 = new Panel();
p1.setLayout(new GridLayout(1, 0));
p1.add(new Button("Num"));
p1.add(new Button("/"));
p1.add(new Button("*"));
p1.add(new Button("-"));
add(p1, BorderLayout.NORTH);

Panel p2 = new Panel();
p2.setLayout(new GridLayout(3, 0));
p2.add(new Button("7"));
p2.add(new Button("8"));
p2.add(new Button("9"));
p2.add(new Button("4"));
p2.add(new Button("5"));
p2.add(new Button("6"));
p2.add(new Button("1"));
p2.add(new Button("2"));
p2.add(new Button("3"));
add(p2, BorderLayout.CENTER);

Panel p4 = new Panel();
p4.setLayout(new GridLayout(1, 0, 30, 40));
p4.add(new Button("0"));
p4.add(new Button("."));
add(p4, BorderLayout.SOUTH);

Panel p3 = new Panel();
p3.setLayout(new GridLayout(2, 0));
p3.add(new Button("+"));
p3.add(new Button("Enter"));
add(p3, BorderLayout.EAST);
}
}

最佳答案

无需重新安排所有内容,您可以简单地将 p2p4 嵌套到另一个 JPanel 中,并将该新面板添加到中心。只要您不在“主”面板的 SOUTH 中添加任何内容,就可以开始操作。

顺便说一句,不要使用awt组件,直接使用Swing组件。这将为您节省大量时间并避免麻烦的行为(考虑扩展 JApplet 而不是 Applet)

看这个小例子:

import java.awt.BorderLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class NumPad extends JPanel {
public NumPad() {
setLayout(new BorderLayout());

JPanel top = new JPanel(new GridLayout(1, 0));
top.add(new JButton("Num"));
top.add(new JButton("/"));
top.add(new JButton("*"));
top.add(new JButton("-"));
add(top, BorderLayout.NORTH);
JPanel p2p4 = new JPanel(new BorderLayout());
JPanel p2 = new JPanel(new GridLayout(3, 0));
p2.add(new JButton("7"));
p2.add(new JButton("8"));
p2.add(new JButton("9"));
p2.add(new JButton("4"));
p2.add(new JButton("5"));
p2.add(new JButton("6"));
p2.add(new JButton("1"));
p2.add(new JButton("2"));
p2.add(new JButton("3"));
p2p4.add(p2, BorderLayout.CENTER);

JPanel p4 = new JPanel();
p4.setLayout(new GridLayout(1, 0, 30, 40));
p4.add(new JButton("0"));
p4.add(new JButton("."));
p2p4.add(p4, BorderLayout.SOUTH);
add(p2p4);
JPanel p3 = new JPanel();
p3.setLayout(new GridLayout(2, 0));
p3.add(new JButton("+"));
p3.add(new JButton("Enter"));
add(p3, BorderLayout.EAST);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame(NumPad.class.getSimpleName());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
NumPad numPad = new NumPad();
frame.add(numPad);
frame.pack();
frame.setVisible(true);
}
});
}
}

关于java - 如何获取数字键盘布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643483/

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