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. :-)
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.
Tuo TabbedPane näyttää olevan juuri sitä, mitä etsinkin. Kiitos!
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!
Aihe on jo aika vanha, joten et voi enää vastata siihen.