微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在GUI中的标签旁边制作文本字段

如何解决如何在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 使用了框布局:

https://i.stack.imgur.com/DRKbT.png

解决方法

你已经非常接近解决它了。

替换这一行

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());

现在你的代码看起来像这样

NEW GUI IMAGE

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。