我需要帮助了解为什么在我退出弹出窗口后按钮和标签不会生效。它几乎就像我需要刷新屏幕?早些时候,我尝试编写一个标签来保存狗的名字,并且在按下按钮后(禁用按钮 w/我没有这样做)并将标签更改为 label=“Dogname”或 Null 和按下示例后的狗名:label = “伙伴”
所以我通过下面的代码和文本字段文本实现了这一点,但我希望它是一个标签,这样用户就不能删除它,什么不能。
为什么我不能用标签做到这一点?留在可变范围内的最佳方法是什么?最后的意思是什么?当我从按钮中删除动作监听器时,它仍然在监听。为什么?我不太了解初始化和实例是否有一个简单的类比可以帮助我解决这个问题?
Java 新手,阅读书籍、教程和指南以获取帮助。我迫不及待地开始利用我的网络知识和 Mysql 的优势开始编程,以获得强大的程序。提前感谢您的帮助。
这是我的第一个程序,它为用户设置的参数生成一个唯一的狗名。简单明了。
我使用最新的 java 和 eclipse。我从头开始编写gui。我了解主类以及如何实现类。java最难的部分是更新新信息的gui,我认为这将是简单的部分。似乎添加布局和面板和框架按钮并让它们更新您的代码正在做的事情似乎有点令人困惑。
除了长代码和新手组织,还有什么技巧可以帮助我学习这个?我已经把//用我自己的话解释了事情的作用和含义,这很有帮助。任何建议将不胜感激。
最后要注意的一件事是我注意到程序员喜欢让其他新手程序员“弄清楚”。在我看来,我认为这不像给出原始答案和帮助那样具有建设性......我从头开始构建了这个程序,从一个好的 4+ tuts 开始,现在我觉得我可以自己编程并使用网络寻求语法帮助. 我不是在寻找任何人来为我的项目编写代码,我只需要帮助理解这个简单应用程序的基础知识,并可能向我展示我的代码在哪里可以更好、更小或更快。
***我知道这都在一个类中,但例如它作为程序的简化版本效果更好。
最后一个问题:我想开始做一个游戏,很简单,帮助对java的理解更透彻。基于文本,但有生命和枪支以及买卖等。设置具有多个需要由多个类更新的变量并且这些类必须识别何时从不同的类更改变量的程序的最佳方法是什么?希望这是有道理的。示例 johm 有 10k 现金并且在 Baller 俱乐部,但是当他的现金低于 10k 标记时,他被从俱乐部中删除。我咬得比我能咀嚼的还多吗?接下来,我想将 mysql 和在线数据库添加到组合中,然后添加图形按钮等。
快乐编程~James
package petNameGennie;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.Set;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class FirstGui extends JFrame {
TextField text = new TextField(20);
private static final long serialVersionUID = 1L;
public FirstGui(){
super("Pet Genie");
setSize(600,400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel p = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel(new GridBagLayout());
JButton b = new JButton("YOLO");
//adding ears to the button!
p.add(b);
add(p);
add(text);
JLabel label1 = new JLabel("wha");
JTextField tf= new JTextField("tf tgggggtg");
JTextArea ta= new JTextArea("text area yooooo");
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(30,30,30,30);
//gbc.gridx = 12;
//gbc.gridy = 12;
//p3.add(label, gbc);
//
//gbc.gridx = 12;
//gbc.gridy = 12;
//p3.add(tf, gbc);
p3.add(label1, gbc);
p3.add(tf, gbc);
p3.add(ta);
add(p, BorderLayout.SOUTH);
add(p3, BorderLayout.CENTER);
add(p2, BorderLayout.NORTH);
add(text, BorderLayout.BEFORE_FIRST_LINE);
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//newgen
String[] peoples = {"MAX","BUDDY","JAKE","BAILEY");
List<String> names = Arrays.asList(peoples);
Collections.shuffle(names);
{
int index = new Random().nextInt(names.size());
String anynames = names.get(index);
System.out.println(anynames);
//end gen
//Auto-generated method stub
JOptionPane.showMessageDialog(null, "Your Dogs name is " + anynames);
String aa = anynames;
anynames = aa;
text.setText(aa);
}
}
}
);
//if (b.) { //Not complete
//b.setVisible(false);
}
}