如何解决如何在GUI中的标签旁边制作文本字段
import java.awt.*;
import javax.swing.*;
public class guiAs {
public static void main (String args [] )
{
JFrame frame = new JFrame ();
frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension (300,300));
frame.setTitle("Calculator");
JPanel panel = new JPanel();
// JLabel label = new JLabel();
//creating num1
JPanel panel2 = new JPanel();
JLabel lable1 = new JLabel("Number 1 ");
JTextField tf1 = new JTextField();
//creating num2
JLabel lable2 = new JLabel("Number 2 ");
JTextField tf2 = new JTextField();
//creating result
JPanel panel3 = new JPanel();
JLabel lable3 = new JLabel("Result: ");
JTextField tf3 = new JTextField(10);
//creating button
JButton Add= new JButton("Add");
JButton Subtract = new JButton("Subtract");
JButton Multiply = new JButton("Multiply");
JButton Division = new JButton("Division");
//creating num1
panel2.add(lable1);
panel2.add(tf1);
//creating num2
panel2.add(lable2);
panel2.add(tf2);
//creating result
panel3.add(lable3);
panel3.add(tf3);
//creating buttons
panel.add(Add);
panel.add(Subtract);
panel.add(Multiply);
panel.add(Division);
// frame.getContentPane().add(BorderLayout.WEST,panel3);
//creating Box Layout for num1 and num2
BoxLayout layout2 = new BoxLayout(panel2,BoxLayout.Y_AXIS);
panel2.setLayout(layout2);
frame.setLayout(new FlowLayout());
frame.add(panel2);
//creating Box Layout for buttons
BoxLayout layout1 = new BoxLayout(panel,BoxLayout.Y_AXIS);
panel.setLayout(layout1);
frame.setLayout(new FlowLayout());
frame.add(panel);
// Add.setAlignmentX(Component.RIGHT_ALIGNMENT);
// panel.add(Add);
// frame.getContentPane().add(BorderLayout.soUTH,panel);
//creating Border Layout for num1 and num2
frame.getContentPane().add(BorderLayout.WEST,panel2);
//creating Border Layout for Buttons
frame.getContentPane().add(BorderLayout.EAST,panel);
//creating Box Layout for Result
frame.getContentPane().add(BorderLayout.soUTH,panel3);
frame.setVisible(true);
}
}
这是我的代码,我不知道在数字旁边制作文本字段。我尝试了几次,但没有走到一起。每当我添加一些东西时,面板就会移动 它只对结果起作用,但对数字不起作用 在这里,我对按钮和数字 1 和数字 2 使用了框布局:
解决方法
你已经非常接近解决它了。
替换这一行
JPanel panel2 = new JPanel();
有了这条线
JPanel panel2 = new JPanel(new GridLayout(2,2));
然后,去掉这3行
BoxLayout layout2 = new BoxLayout(panel2,BoxLayout.Y_AXIS);
panel2.setLayout(layout2);
frame.setLayout(new FlowLayout());
现在你的代码看起来像这样
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。