[英]How can I Customize Volley Library to make post request as java object to get response as java Object
[英]I want to make a simple login for a library system in Java.How can I get the text field in the frame?
我需要一個簡單的登錄頁面,學生可以在其中輸入他/她的憑據。但是我無法使文本字段顯示在用戶名和密碼旁邊,而用戶名和密碼不會顯示在用戶名下方。 這是我到目前為止編寫的代碼
package library;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Loginpage {
private JPanel panel;
private JLabel label;
private JFrame frame;
private JTextField field;
/*Constructor*/public Loginpage(){
gui();
}
public void gui() {
frame = new JFrame("WELCOME ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(500, 500, 500, 500);/*X axis,Y axis,Width,Height*/
frame.setVisible(true);
panel = new JPanel();
label = new JLabel("Username");
field = new JTextField(20);
panel.add(label);
frame.add(panel);
frame.add(label,BorderLayout.WEST);
frame.add(field);
}
public static void main(String[]args){
new Loginpage();
}
``}
首先,除非您要顯示輸出然后修改它,否則通常應將setVisible(true)放在末尾,這不是通常的情況。
如果您是說要此輸出:
然后,您可以嘗試GridLayout並將以上輸出分為四個部分(2x2)。
您可以訪問https://docs.oracle.com/javase/tutorial/uiswing/layout/grid.html了解更多詳細信息,或訪問https://examples.javacodegeeks.com/desktop-java/awt/gridlayout/java-gridlayout-示例/示例。
你的問題是你在做frame.setVisible(true);
太早了。
嘗試這個:
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Loginpage {
private JPanel panel;
private JLabel label;
private JFrame frame;
private JTextField field;
/* Constructor */public Loginpage() {
gui();
}
public void gui() {
frame = new JFrame("WELCOME ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(500, 500, 500, 500);/* X axis,Y axis,Width,Height */
panel = new JPanel();
label = new JLabel("Username");
field = new JTextField(20);
panel.add(label);
frame.add(panel);
frame.add(label, BorderLayout.WEST);
frame.add(field);
frame.setVisible(true);
}
public static void main(String[] args) {
new Loginpage();
}
}
還有其他幾件事:
Layout
添加到面板中,例如panel.setLayout(new FlowLayout());
frame
添加field
frame.add(field);
,則應通過panel.add(field);
將其添加到panel
frame.add(label, BorderLayout.WEST);
你到底想要什么? 您可以執行以下操作panel.add(label, BorderLayout.WEST);
。 但這將在文本字段的右側顯示標簽。 這些更新之后,代碼變為:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Loginpage {
private JPanel panel;
private JLabel label;
private JFrame frame;
private JTextField field;
/* Constructor */public Loginpage() {
gui();
}
public void gui() {
frame = new JFrame("WELCOME ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(500, 500, 500, 500);/* X axis,Y axis,Width,Height */
panel = new JPanel();
panel.setLayout(new FlowLayout());
label = new JLabel("Username");
field = new JTextField(20);
panel.add(label);
panel.add(field);
frame.add(panel);
frame.setVisible(true);
}
public static void main(String[] args) {
new Loginpage();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.