首先,请放心,我已经阅读了所有Oracle Java文章&现在教程大约6次,所以如果你能提供帮助,你必须比提供Oracle页面的链接做得更好。对不起,如果这听起来很粗鲁。
显然我不知道Strings是如何工作的。我试图让4个jButton在推送时将它们的值发送到字符串,这样只有被推送的最后一个按钮才会在字符串或值中记录它(名称,文本,无论什么工作),这样我就可以连接它值为jLabel的消息。
所以这里有2个问题,我不能设置正确的“状态”按钮,然后我需要能够获取值并将其放入jLabel。
通过查看此屏幕截图,您可以看到我被困在哪里: http://krisbunda.com/gui2.png
查看“null”的位置,而不是4个“状态”按钮中的1个值(“已发货”或“已加载”等)
private void shippedButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
StringBuilder status = new StringBuilder(loadedButton.getText());
}
private void loadedButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
StringBuilder status = new StringBuilder(loadedButton.getText());
}
private void outReadyButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
StringBuilder status = new StringBuilder(outsideReadyButton.getText());
}
private void outNotReadyButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
StringBuilder status = new StringBuilder(outsideNotReadyButton.getText());
}
private void enterButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Confirmation.setVisible(true);
Confirmation.setBounds(300,200,900,400);
Confirmation.setModal(rootPaneCheckingEnabled);
confirmationLabel.setText("You are about to send this message:"
+ "\n #" + display.getText()+ " is currently " + status);
}
private void confirmationNoButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Confirmation.dispose();
}
非常感谢任何帮助。
修改
感谢您的帮助,这是我为“新线”问题找到的解决方法:我使用了2个JLabel。
并编码如下:
private void enterButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Confirmation.setVisible(true);
Confirmation.setBounds(200,300,1000,400);
Confirmation.setModal(rootPaneCheckingEnabled);
confirmationLabel1.setText("You are about to send this message:");
confirmationLabel2.setText("PS# " + display.getText()+ " is currently " + status);
}
这里有一段代码来说明“充满鳗鱼的气垫船”所解决的修复方法:
1。)添加非局部变量/字符串:
public class PlanterStatusUI extends javax.swing.JFrame
{
/** Creates new form PlanterStatusUI */
public PlanterStatusUI() {
initComponents();
}
public String status = new String(); {
}
2.)更改按钮代码:
private void shippedButtonHandler(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
status = shippedButton.getText();
}
答案 0 :(得分:1)
上述方法中的状态变量都在方法中声明,因此仅在方法中可见。方法结束后,变量将立即消失。最好更改在类本身中声明的StringBuilder变量。
例如,我将状态设置为String字段/变量,而不是StringBuilder,而不是局部变量,并更改按钮处理程序方法,如下所示:
private void outReadyButtonHandler(java.awt.event.ActionEvent evt) {
status = outsideReadyButton.getText();
}
答案 1 :(得分:0)
此example显示了每次点击按钮时如何更新标签。