gpt4 book ai didi

java - 将文本框放在单独的行中

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:15:21 26 4
gpt4 key购买 nike

MainClass(){
JFrame main = new JFrame("Login Form ");
main.setBounds(350,150,500,500);
main.setVisible(true);
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
name = new JTextField(10);
pass = new JTextField(10);
main.setLayout(new GridLayout(0,1));
JPanel pane = new JPanel();
main.add(pane);
main.add(new JLabel("Username: "));
pane.add(name);
//main.add(pane);
pane.add(new JLabel("Password: "));
pane.add(pass);
submit = new JButton("Submit");
pane.add(submit);
submit.addActionListener(new Handler());
}

我想在标签 usernamename 文本框之后将文本框分隔成单独的行。我需要控制光标到一个新行。

最佳答案

i want to separate the text boxes in separate lines

Layout

import java.awt.*;
import javax.swing.*;

class MainClass {

JTextField name;
// This should be a JPasswordField!
JTextField pass;
JButton submit;

MainClass(){
JFrame main = new JFrame("Login Form ");
// Don't use this nonsense!
//main.setBounds(350,150,500,500);
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
name = new JTextField(10);
pass = new JTextField(10);
main.setLayout(new GridLayout(0,1));
JPanel pane = new JPanel(new GridLayout(0,1));
main.add(pane);
pane.add(new JLabel("Username: "));
pane.add(name);
pane.add(new JLabel("Password: "));
pane.add(pass);
submit = new JButton("Submit");
pane.add(submit);
//submit.addActionListener(new Handler());
main.pack();
main.setVisible(true);
}

public static void main(String[] args) {
MainClass mc = new MainClass();
}
}

如果我正在构建一个登录屏幕,它可能会更多地按照这些行进行布局(标签右对齐,按钮在它自己的面板中 - 留给读者作为练习)。

Log-In frame

import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;

class MainClass {

JTextField name;
JPasswordField pass;
JButton submit;

MainClass(){
JFrame main = new JFrame("Login Form ");
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
name = new JTextField(10);
pass = new JPasswordField(10);

JPanel gui = new JPanel(new BorderLayout(3,3));
gui.setBorder(new EmptyBorder(5,5,5,5));
main.setContentPane(gui);

JPanel labels = new JPanel(new GridLayout(0,1));
JPanel controls = new JPanel(new GridLayout(0,1));
gui.add(labels, BorderLayout.WEST);
gui.add(controls, BorderLayout.CENTER);

labels.add(new JLabel("Username: "));
controls.add(name);
labels.add(new JLabel("Password: "));
controls.add(pass);
submit = new JButton("Submit");

gui.add(submit, BorderLayout.SOUTH);
main.pack();
main.setVisible(true);
}

public static void main(String[] args) {
MainClass mc = new MainClass();
}
}

关于java - 将文本框放在单独的行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8545301/

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