Java & NetBeans IDE

Java & NetBeans IDE
PI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 11 lat
  • Postów:14
0

Witam. Mam problem z Java w NetBeans IDE.
Zrobiłem panel za pomocą domyślnego designera w IDE

Kopiuj
 public class GoraPanel extends javax.swing.JPanel
    {
    /** Creates new form GoraPanel */
    public GoraPanel()
	{
	initComponents();
	}
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents()
    {

        jButton1 = new javax.swing.JButton();

        jButton1.setText("jButton1");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 199, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jButton1)
                .addContainerGap())
        );
    }// </editor-fold>                        
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    // End of variables declaration                   
    }

Zawiera on jedynie button z domyślnym napisem.
Zrobiłem też ramkę, również za pomocą domyślnego designera. Jak mogę umieścić panel w tej ramce?

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 21 godzin
1

Hmm, przeciągnąć?

Jak masz zakładkę Design, to w lewym dolnym rogu powinien ci się pojawić Navigator z drzewkiem komponentów i tam na tym drzewku możesz sobie zrobić przeciągnij&upuść.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
PI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 11 lat
  • Postów:14
0

Dzięki za odpowiedź, niestety nie mogę tego znaleźć w zakładce Navigator. Znalazłem trochę inne rozwiązanie, trzeba dodać panel do palety za pomocą "add to palette" i wtedy można go używać tak jak innych komponentów.

@ADD:
Ok, co prawda dodałem panel, ale nie mogę ustawiać eventów dla jego poszczególnych elementów. Wie ktoś jak mogę to zmienić?

@ADD2:
Właściwie to wystarczy przeciągnąć panel z drzewka Files lub Projects, nie trzeba dodawać do palety. Ale to ciągle powoduje problem z obsługą zdarzeń.

edytowany 2x, ostatnio: piszczu
Wibowit
aaa ok, coś mi się pokiełbasiło i źle zrozumiałem pytanie :p
Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 21 godzin
0

Tzn chcesz się przebić dwa poziomy w dół? Moim zdaniem tak się nie powinno robić. Elementy panelu powinny być obsługiwane przez ten panel, a nie przez jego rodzica. Możesz za to spróbować przekazywać eventy w górę i wtedy obsłużyć u góry.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
PI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 11 lat
  • Postów:14
0

Mam 2 panele.
1: Zawiera 2 buttony
2: Zawiera label
Chce, żeby po kliknięciu któregoś z buttonów coś się stało z labelem (zmiana tekstu, rozmiaru, ukrycie, cokolwiek). Akcja ma być zależna od tego który button kliknę.

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 21 godzin
0

Moim zdaniem powinieneś np zrobić beana i spiąć go z tymi kontrolkami poprzez przekazanie tego beana do obydwu paneli.

Jakiś czas temu klepnąłem GUI w Swingu do mojego programu kompresującego. Jest tutaj: https://github.com/tarsa/TarsaLZP (podkatalog java). Zrobiłem dwa beany i podpiąłem akcje przez wyklikanie (te wyklikane bindingi nie są jakieś super eleganckie, no ale nie chciało mi się bawić w ręczne klepanie, bo i tak projekt jest malutki). Jest tam np taki bajer, że po podaniu złej konfiguracji button do odpalania kompresji się wyłącza.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
PI
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 11 lat
  • Postów:14
0

Dzięki za odpowiedź, widzę, ze porwałem się na trochę zbyt głębokie wody. W takim razie idę dalej z tematami w książce, a do tego programu wrócę jak poznam beany.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.