如何解决空着身体等待一段时间
我有一个Jtextfield和一个Jbutton,按下Jbutton会将值放入一个int或字符串中,并将gettingentry
更改为1。我想要的是等待输入的内容,因此我等待gettingentry
到达1。但是当我有一段时间没有身体(我想要什么)时,它永远不会离开那一会儿。我尝试将System.out.println(gettingentry + " ; " + entry);
放到一会儿看一下值是什么,也许是某些原因阻止了gettingentry
达到1,但这使一切正常。问题是,我不明白为什么当我有空的那一刻时,它不起作用,我不需要最后总是在控制台中始终显示这些值,但是它可以帮助我的程序工作。 >
这是我的Jbutton的工作方式:
select.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
String getValue = textfield.getText();
try {
entry = Integer.parseInt(getValue);
String sendback = "entry : " + entry;
logger.log(Level.INFO,sendback);
} catch (Exception e) {
entrystr = getValue;
logger.log(Level.INFO,entrystr);
}
textfield.setText("");
gettingentry=1;
}
});
这是我的一段时间:
gettingentry=0;
while (gettingentry==0); {
//System.out.println(gettingentry + " ; " + entry);
}
int viewid = entry;
gettingentry = 0;
这是整个.java,一切正常,但是我想每次等待一个值时都去掉System.out.println(gettingentry + " ; " + entry);
。顺便说一句,如果写得不好,我还是个乞in:
package net.jpatest;
import javax.persistence.*;
import java.util.logging.*;
import java.util.Scanner;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AlbumManager {
static EntityManagerFactory factory;
static EntityManager entityManager;
static Logger logger = Logger.getLogger(AlbumManager.class.getName());
static Scanner scanner = new Scanner(System.in);
static int etat;
static int entry = 0;
static JFrame f = new JFrame("Music");
static String entrystr;
static JTextArea textarea = new JTextArea(10,30);
static int gettingentry = 0;
public static void main(String[] args) {
begin();
int run = 1;
int etatmenu = 1;
while (run == 1) {
if (etatmenu == 1) {
logger.log(Level.INFO,"1: View album\n2: Create album\n3: Delete album\n4: Update album\n5: Exit");
textarea.setText("1: View album\n2: Create album\n3: Delete album\n4: Update album\n5: Exit");
etatmenu = 0;
}
etat = entry;
// etat = scanner.nextInt();
// scanner.nextLine();
switch (etat) {
case 1:
gettingentry = 0;
viewalbum();
etatmenu = 1;
etat = 0;
entry = 0;
break;
case 2:
createalbum();
update();
etatmenu = 1;
etat = 0;
entry = 0;
break;
case 3:
deletealbum();
update();
etatmenu = 1;
etat = 0;
entry = 0;
break;
case 4:
updatealbum();
update();
etatmenu = 1;
etat = 0;
entry = 0;
break;
case 5:
run = 0;
etatmenu = 1;
etat = 0;
entry = 0;
break;
default:
break;
}
}
end();
}
private static void update() {
entityManager.getTransaction().commit();
entityManager.getTransaction().begin();
}
private static void end() {
entityManager.getTransaction().commit();
entityManager.close();
factory.close();
scanner.close();
f.dispose();
}
private static void begin() {
factory = Persistence.createEntityManagerFactory("AlbumUnit");
entityManager = factory.createEntityManager();
entityManager.getTransaction().begin();
f.setSize(400,250);
f.setLocation(300,200);
JPanel panel = new JPanel(); // the panel is not visible in output
JButton select = new JButton("OK");
JButton quit = new JButton("Quit");
JRootPane rootPane = f.getRootPane();
rootPane.setDefaultButton(select);
JTextField textfield = new JTextField(20);
panel.add(textarea);
panel.add(textfield);
panel.add(select);
panel.add(quit);
f.getContentPane().add(BorderLayout.CENTER,panel);
quit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
select.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
String getValue = textfield.getText();
try {
entry = Integer.parseInt(getValue);
String sendback = "entry : " + entry;
logger.log(Level.INFO,sendback);
} catch (Exception e) {
entrystr = getValue;
logger.log(Level.INFO,entrystr);
}
textfield.setText("");
gettingentry = 1;
}
});
f.setVisible(true);
}
private static void createalbum() {
Album newalbum = new Album();
int newid = (int) getnbofalbum() + 1;
newalbum.setAlbumid(newid);
logger.log(Level.INFO,"Enter the name of the album :");
textarea.setText("Enter the name of the album :");
// String updatealbumname = scanner.nextLine();
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
}
gettingentry = 0;
String updatealbumname = entrystr;
newalbum.setAlbumname(updatealbumname);
logger.log(Level.INFO,"Enter the group of the album :");
textarea.setText("Enter the group of the album :");
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
}
gettingentry = 0;
String updatealbumgroup = entrystr;
newalbum.setAlbumgroup(updatealbumgroup);
logger.log(Level.INFO,"Enter the length of the album :");
textarea.setText("Enter the length of the album :");
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
}
gettingentry = 0;
int updatealbumlength = entry;
newalbum.setAlbumlength(updatealbumlength);
entityManager.persist(newalbum);
String createreturn = "New album created,\nPress Enter to return to the menu";
textarea.setText(createreturn);
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
// textarea.setText("Enter the ID of the album you want to view (0 to see
// all):");
}
gettingentry = 0;
}
private static void updatealbum() {
logger.log(Level.INFO,"Enter the ID of the album you want to update:");
textarea.setText("Enter the ID of the album you want to update:");
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
}
gettingentry = 0;
Album existalbum = new Album();
existalbum.setAlbumid(entry);
logger.log(Level.INFO,"Enter the name of the album you want to update:");
textarea.setText("Enter the name of the album you want to update:");
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
}
gettingentry = 0;
existalbum.setAlbumname(entrystr);
logger.log(Level.INFO,"Enter the group of the album you want to update:");
textarea.setText("Enter the group of the album you want to update:");
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
}
gettingentry = 0;
existalbum.setAlbumgroup(entrystr);
logger.log(Level.INFO,"Enter the length of the album you want to update:");
textarea.setText("Enter the length of the album you want to update:");
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
}
gettingentry = 0;
existalbum.setAlbumlength(entry);
entityManager.merge(existalbum);
String updatereturn = "Album edited,\nPress Enter to return to the menu";
textarea.setText(updatereturn);
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
// textarea.setText("Enter the ID of the album you want to view (0 to see
// all):");
}
gettingentry = 0;
}
private static void viewalbum() {
logger.log(Level.INFO,"Enter the ID of the album you want to view (0 to see all):");
textarea.setText("Enter the ID of the album you want to view (0 to see all):");
// int viewid = scanner.nextInt();
// scanner.nextLine();
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
// textarea.setText("Enter the ID of the album you want to view (0 to see
// all):");
}
gettingentry = 0;
int viewid = entry;
int i = 1;
int nbofalbumint = (int) getnbofalbum();
String writeswing = "";
if (viewid <= 0) {
while (i <= nbofalbumint) {
Album album = entityManager.find(Album.class,i);
String write = album.getAlbumid() + ",";
logger.log(Level.INFO,write);
logger.log(Level.INFO,album.getAlbumname());
logger.log(Level.INFO,album.getAlbumgroup());
String write2 = album.getAlbumlength() + ".";
logger.log(Level.INFO,write2);
writeswing += album.getAlbumid() + ": " + album.getAlbumname() + "," + album.getAlbumgroup() + ","
+ album.getAlbumlength() + ".\n";
i++;
}
} else if (viewid <= nbofalbumint) {
Album album = entityManager.find(Album.class,viewid);
logger.log(Level.INFO,album.getAlbumname());
logger.log(Level.INFO,album.getAlbumgroup());
String write3 = album.getAlbumlength() + ".";
logger.log(Level.INFO,write3);
writeswing += album.getAlbumid() + ": " + album.getAlbumname() + ","
+ album.getAlbumlength() + ".\n";
} else {
logger.log(Level.INFO,"Please enter a valid ID.");
}
writeswing += "Press Enter to return to the menu";
textarea.setText(writeswing);
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
}
gettingentry = 0;
}
private static void deletealbum() {
long nbofalbum = getnbofalbum();
logger.log(Level.INFO,"Enter the ID of the album you want to delete:");
textarea.setText("Enter the ID of the album you want to delete:");
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
}
gettingentry = 0;
int delid=entry;
Album reference = entityManager.getReference(Album.class,delid);
entityManager.remove(reference);
update();
delid++;
while (delid <= nbofalbum) {
updatedeletealbum(delid);
update();
delid++;
}
int nbofalbumint = (int) nbofalbum;
Album reference2 = entityManager.getReference(Album.class,nbofalbumint);
entityManager.remove(reference2);
textarea.setText("Press Enter to return to the menu.");
gettingentry = 0;
while (gettingentry == 0) {
System.out.println(gettingentry + " ; " + entry);
}
gettingentry = 0;
}
private static void updatedeletealbum(int updateid) {
Album existalbum = new Album();
Album album = entityManager.find(Album.class,updateid);
int newupdateid = updateid - 1;
existalbum.setAlbumid(newupdateid);
existalbum.setAlbumname(album.getAlbumname());
existalbum.setAlbumgroup(album.getAlbumgroup());
existalbum.setAlbumlength(album.getAlbumlength());
entityManager.merge(existalbum);
}
private static long getnbofalbum() {
String jpql = "select count(*) from Album";
Query query = entityManager.createQuery(jpql);
long nbofalbum = (long) query.getSingleResult();
String write4 = "nbofalbum :" + nbofalbum;
logger.log(Level.INFO,write4);
return nbofalbum;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。