Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do I get a String to show up in a jLabel?
    text
    copied!<p>First off, rest assured that I've read every Oracle Java article &amp; tutorial about 6 times now, so if you can help, you'll have to do better than providing a link to an Oracle page. Sorry if that sounds rude.</p> <p>Apparently I don't know how Strings work. I'm trying to get 4 jButtons to send their value to a string when pushed, so that only the last button that was pushed will record its (name, text, whatever works) in a string or value, so that I can concatenate that value to a jLabel's message.</p> <p>So there's 2 problems here, I must not have the "Status" buttons set up right, and then I need to be able to take the value and put it in the jLabel.</p> <p>You can see where I'm stuck by looking at this screenshot: <a href="http://krisbunda.com/gui2.png" rel="nofollow noreferrer">http://krisbunda.com/gui2.png</a></p> <p>See where it says "null" instead of the value of 1 of 4 "status" buttons ("Shipped" or "Loaded", etc.)</p> <pre><code> 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(); } </code></pre> <p>Any help is greatly appreciated.</p> <p><strong>EDIT:</strong></p> <p>Thanks for the help, here's the workaround I figured out for the "new line" issue: I used 2 JLabels. <img src="https://i.stack.imgur.com/lQYO5.png" alt="GUI for JLabel new line"></p> <p>and coded like so:</p> <pre><code> 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); } </code></pre> <p>and here's a snippet of code to illustrate the fix answered by "Hovercraft full of eels":</p> <p><strong>1.) add non-local variable/string:</strong></p> <pre><code>public class PlanterStatusUI extends javax.swing.JFrame { /** Creates new form PlanterStatusUI */ public PlanterStatusUI() { initComponents(); } public String status = new String(); { } </code></pre> <p><strong>2.) change button code:</strong></p> <pre><code> private void shippedButtonHandler(java.awt.event.ActionEvent evt) { // TODO add your handling code here: status = shippedButton.getText(); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload