2013-10-28 23 views
0

我需要幫助理解爲什麼按鈕和標籤後,我離開我的彈出不會生效。它幾乎就像我需要刷新屏幕?早些時候,我試圖編碼的標籤來保存狗的名字和按鈕被按下後(禁用按鈕W /我沒有做),並更改標籤說LABEL =「Dogname」或null,且其壓制示例後的狗的名字:標籤= 「哥們」按下後(初學者)禁用按鈕,並思考我的程序風格?

所以,我實現了這個通過代碼我下面有一個文本框的文本,但我想它的標籤,這樣用戶不能刪除它,什麼不是。

爲什麼不能我這樣做有一個標籤? 什麼是留在可變範圍內的最佳方式?什麼是最後的意思? 當我從按鈕中刪除動作列表器時,它仍然監聽。爲什麼? 我不明白的初始化和實例很好是有一個簡單的比喻,可以幫助我嗎?

新的Java和閱讀的書籍,教程和求助指南。我無法等待從我的網絡知識和Mysql強大程序的優勢開始編程。 Thx提前尋求幫助。

這是我的第一個程序它的參數是用戶組生成一個唯一的狗的名字。簡單而重要。

我用的是最新的Java使用Eclipse。 我從頭開始編碼gui。 我瞭解主類以及如何實現類。 爪哇最難的部分是GUI更新新的信息,我認爲這將是比較容易的部分。看起來像添加布局和麪板和框架按鈕,並讓他們更新與我們的代碼正在做什麼似乎有點混亂。

除了長碼和neewbie組織,什麼是一些提示,以幫助我學習嗎?我已經用我自己的話來解釋什麼是事情的意義了,而且這很有幫助。任何建議將非常感激。需要注意的

最後一兩件事是我注意到,程序員喜歡讓其他程序員福利局只是「弄清楚」。在我看來,我不認爲這與提供原始答案和幫助一樣具有建設性...我從一個好的4+內核開始構建這個程序,現在感覺我可以自己編程,並使用網絡幫助語法。我不是在尋找任何人來編寫我的項目,我只需要幫助理解這個簡單的應用程序的基礎知識,並可能告訴我我的代碼可以更好或更小或更快。

***我知道這是全部在一個類,但例如它作爲一個簡化版本的程序更好。

最後一個問題:我想開始做一個遊戲很簡單,幫助更深入地理解java。基於文本,但有生命和槍支以及購買和銷售等。什麼是建立有需要由多個類進行更新和這幾類時,變量從不同類別的變化來識別多個變量程序的最佳方式?希望這是有道理的。例如,johm擁有10K現金,並在baller俱樂部,但是當他的現金低於10k時,他將被從俱樂部中刪除。我咬不止,我可以咀嚼。接下來,我想添加MySQL和在線數據庫的混合然後圖形按鈕等。

快樂編程〜詹姆斯

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); 
    } 



} 

回答

0

我需要幫助理解爲什麼按鈕和標籤後,我離開我的彈出不會生效 。它幾乎就像我需要刷新屏幕? 早些時候我試圖編碼的標籤來保存狗的名字和按鈕 被按下後(禁用按鈕W /我沒有做),並更改標籤 說LABEL =「Dogname」或Null和狗的名字其所壓 後例如:標籤=「哥們」

更換TextField text = new TextField(20);JLabel text = new JLabel();作品對我蠻好

爲什麼不能我這樣做有一個標籤?

你可以和它工作正常。您可能需要調用revalidate,以確保父容器正在鋪設了變化的標籤文本後正確的,但它工作得很好

什麼是留在可變範圍內的最佳方式?

通常通過使用實例變量(如text)或將它們作爲參數傳遞給基於您嘗試實現的方法。

什麼是最後的意思?

在變量的上下文中,實質上final意味着該存儲器引用不能在運行時改變。請查看final瞭解更多詳情

當我從按鈕中刪除動作列表器時,它仍會偵聽。爲什麼?

我懷疑你正試圖刪除聽衆的錯誤的實例(基於您的代碼示例),但你不提供演示此功能,因此它不可能告訴

代碼

我不明白初始化和實例很好有一個簡單的比喻可以幫助我嗎?

你是人類的一個實例,你的父母初始化了你 - 儘量不要在那個想法上長期存在。看看Understanding Instance and Class MembersInitializing Fields更多細節

最後一個問題:我要開始製作遊戲很簡單, 幫助更徹底地瞭解java。基於文本,但與生命和 槍支和購買和銷售等。設置一個 程序的最佳方法是什麼,該程序有多個變量,需要由多個類更新 ,並且這些類必須識別何時從另一個類更改了 變量?希望這使得 有意義。例如,johm擁有10k現金,並且是在該俱樂部的俱樂部,但是當他的現金跌至10k大關時,他將被從俱樂部中刪除。我會咬掉更多的咀嚼物。接下來,我想添加MySQL和在線 DB的混合,然後圖形按鈕等。

開始通過了解Model-View-Control模式(和Understanding Model-View-Controller

職責分離的區域,以便你的程序的部分有明確的責任和定義的區域,不溢出。

瞭解客戶端 - 服務器模式以及這兩個組件具有的責任區域。

和代碼接口,而不是實現。看看Code to Interface, Access by name and Instance Data一些細節

瞭解Object Oriented design patterns並學會使用它們

+0

人,真是一個偉大的答案!謝謝。比喻非常清楚。我使用了b.repaint,並更新了要刪除的按鈕。非常感謝您閱讀這些偉大的信息! – NILE