我使用NetBeans面板表单创建了一个JPanel
,并将其添加到我在另一个文件中创建的JFrame
中:
startWindow.add(new BBWWindow());
BBWWindow
面板有一个文本字段和一个密码字段,可以在面板表单设计预览中正常工作,但是当我运行该文件时,文本字段和密码字段无法正常工作。我可以在字段中编辑文本,但是在一秒钟之后,它们会出现故障并返回到默认文本或者没有在中心对齐并且在用了一段时间来加载来自用户的所有输入之后用完字段边框。
这是我的主要代码:
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class fishpond {
public static void main(String ags[]){
startFace();
//instruction();
//instruction not written yet
}
public static void startFace(){
final JFrame startWindow=new JFrame("fishpond.beta");
startWindow.getContentPane().setBackground(Color.BLACK);
startWindow.setPreferredSize(new Dimension(753,463));
startWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String title="fishpond.beta"+"<br>"+
"school project"+"<br>"+
" "+"<br>"+
"2014-2015";
final JLabel gameTitle;
gameTitle = new JLabel("<html><div style=\"text-align:center;\">"+title+"</html>", SwingConstants.CENTER);
gameTitle.setForeground(Color.GREEN);
startWindow.getContentPane().add(gameTitle);
startWindow.setLocationRelativeTo(null);
startWindow.pack();
startWindow.setVisible(true);
Timer t;
t = new Timer(3000, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
gameTitle.setText(null);
}
});
t.start();
startWindow.add(new BBWWindow());
}
这是面板表单代码:
public class BBWWindow extends javax.swing.JPanel {
/**
* Creates new form BBWWin
*/
public BBWWindow() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel2 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jPasswordField1 = new javax.swing.JPasswordField();
jTextField1 = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jButton2 = new javax.swing.JButton();
jTextField2 = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jPasswordField2 = new javax.swing.JPasswordField();
jLabel2.setFont(new java.awt.Font("Minecraftia", 0, 13)); // NOI18N
jLabel2.setForeground(new java.awt.Color(0, 255, 0));
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel2.setText("school project 2014-2015");
jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jLabel1.setFont(new java.awt.Font("Minecraftia", 0, 13)); // NOI18N
jLabel1.setForeground(new java.awt.Color(0, 255, 0));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("fishpond.beta");
jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jButton1.setBackground(new java.awt.Color(0, 0, 0));
jButton1.setForeground(new java.awt.Color(0, 255, 0));
jButton1.setText("LOG IN");
jButton1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
jPasswordField1.setBackground(new java.awt.Color(0, 0, 0));
jPasswordField1.setForeground(new java.awt.Color(0, 255, 0));
jPasswordField1.setText("jPasswordField1");
jPasswordField1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
jTextField1.setBackground(new java.awt.Color(0, 0, 0));
jTextField1.setFont(new java.awt.Font("Minecraftia", 0, 10)); // NOI18N
jTextField1.setForeground(new java.awt.Color(0, 255, 0));
jTextField1.setText("USERNAME");
jTextField1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jLabel3.setFont(new java.awt.Font("Minecraftia", 0, 8)); // NOI18N
jLabel3.setForeground(new java.awt.Color(0, 255, 0));
jLabel3.setText("default root user password is 'toor'");
setBackground(new java.awt.Color(0, 0, 0));
setForeground(new java.awt.Color(0, 255, 0));
setFont(new java.awt.Font("Minecraftia", 0, 12)); // NOI18N
setPreferredSize(new java.awt.Dimension(753, 463));
setSize(new java.awt.Dimension(753, 463));
jLabel4.setFont(new java.awt.Font("Minecraftia", 0, 13)); // NOI18N
jLabel4.setForeground(new java.awt.Color(0, 255, 0));
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel4.setText("school project 2014-2015");
jLabel4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jLabel5.setFont(new java.awt.Font("Minecraftia", 0, 13)); // NOI18N
jLabel5.setForeground(new java.awt.Color(0, 255, 0));
jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel5.setText("fishpond.beta");
jLabel5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jButton2.setBackground(new java.awt.Color(0, 0, 0));
jButton2.setForeground(new java.awt.Color(0, 255, 0));
jButton2.setText("LOG IN");
jButton2.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jButton2MouseClicked(evt);
}
});
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jTextField2.setBackground(new java.awt.Color(0, 0, 0));
jTextField2.setFont(new java.awt.Font("Minecraftia", 0, 10)); // NOI18N
jTextField2.setForeground(new java.awt.Color(0, 255, 0));
jTextField2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
jTextField2.setText("USERNAME");
jTextField2.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
jTextField2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField2ActionPerformed(evt);
}
});
jLabel6.setFont(new java.awt.Font("Minecraftia", 0, 8)); // NOI18N
jLabel6.setForeground(new java.awt.Color(0, 255, 0));
jLabel6.setText("default root user password is 'toor'");
jPasswordField2.setBackground(new java.awt.Color(0, 0, 0));
jPasswordField2.setForeground(new java.awt.Color(0, 255, 0));
jPasswordField2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
jPasswordField2.setText("jPasswordField1");
jPasswordField2.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
jPasswordField2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jPasswordField2ActionPerformed(evt);
}
});
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(0, 0, Short.MAX_VALUE)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(jLabel5)
.add(298, 298, 298))
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(jTextField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(339, 339, 339))))
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.addContainerGap(208, Short.MAX_VALUE)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(jLabel6)
.add(276, 276, 276))
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(jLabel4)
.add(196, 196, 196))
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(jButton2)
.add(348, 348, 348))
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(jPasswordField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(310, 310, 310))))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.addContainerGap(159, Short.MAX_VALUE)
.add(jLabel5)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLabel4)
.add(24, 24, 24)
.add(jLabel6)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jTextField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPasswordField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(18, 18, 18)
.add(jButton2)
.add(136, 136, 136))
);
}// </editor-fold>
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField2.setEditable(true);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
//change the button here!
}
private void jPasswordField2ActionPerformed(java.awt.event.ActionEvent evt) {
jPasswordField2.setEditable(true);
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JPasswordField jPasswordField2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
// End of variables declaration
}