Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Swing käyttöliittymä

Moozax [22.11.2012 21:38:38]

#

Olen ohjelmoimassa irc-bottia, jolle pitäisi saada graafinen hallintapaneeli swingiä käyttäen. Java on siis täysin uusi kieli minulle ja tämä on harjoitusprojekti.

Tässä tämän hetkinen GUI-koodi:
Itse en siis ole tuota koodannut (alkup.), mutta sen pohjalle ajattelin laajentaa ohjelmaani.

package main;
import javax.swing.JFrame;

public class GUI extends javax.swing.JFrame {

    /** Creates new form GUI */
    public GUI() {
        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">//GEN-BEGIN:initComponents
    public void initComponents() {

        Title = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        ChatLog = new javax.swing.JTextArea();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        Title.setFont(new java.awt.Font("Kristen ITC", 1, 18)); // NOI18N
        Title.setText("TummaBot 1.0");
        ChatLog.setColumns(20);

        ChatLog.setRows(5);
                ChatLog.setEditable(false);
                ChatLog.append("\n");
                jScrollPane1.setViewportView(ChatLog);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(211, Short.MAX_VALUE)
                .addComponent(Title, javax.swing.GroupLayout.PREFERRED_SIZE, 350, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(190, 190, 190))
            .addGroup(layout.createSequentialGroup()
                .addGap(19, 19, 19)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 711, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(21, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(Title)
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
                .addContainerGap())
        );
        pack();
    }// </editor-fold>//GEN-END:initComponents

    /**
    * Starts the GUI components of this bot
    */
    public void ShowComponents() {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new GUI().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    public static javax.swing.JTextArea ChatLog;
    private javax.swing.JLabel Title;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration//GEN-END:variables
}

Tässä kuva nykyisestä ohjelmasta - http://imgur.com/fHdxa
Ja siitä, miltä sen täytyisi näyttää jatai mitä siihen tulisi lisätä - http://imgur.com/w7mWm

Kuinka tästä kannattaisi lähtä etenemään? En välttämättä kaipaa täysiä ohjelmointiesimerkkejä, mutta suuntaa-antavat ideat ovat tervetulleita. Tässähän on kuitenkin tarkoitus oppia. :-)

Metabolix [22.11.2012 21:51:06]

#

Ehkä kannattaa aloittaa Oraclen Java-dokumentaation Swing-artikkeleista. Kannattaa silmäillä läpi melkeinpä kaikki niistä, jotta saa käsityksen, millaisia mahdollisuuksia on olemassa. Juuri tähän tapaukseen voisi sopia TabbedPane.

Moozax [23.11.2012 08:13:45]

#

Tuo TabbedPane näyttää olevan juuri sitä, mitä etsinkin. Kiitos!

tmub [23.11.2012 22:47:21]

#

Jos on kiinnostunut javalla ircbotteja vääntämään niin voisi hyödyntää tätä http://www.jibble.org/pircbot.php

Mainitsit kuitenkin tämän olevan harjoitusprojekti joten tee miten itse haluat!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta